Fossil

Hex Artifact Content
Login

Artifact 07c92f0ba98e1a7cb81b660c563df90fdbb2080d94590409870bd8e7cd684deb:


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: 74 61 67 0a 20 20 65 76 65 6e 74 0a 20 20 65 78  tag.  event.  ex
0590: 70 6f 72 74 0a 20 20 66 69 6c 65 0a 20 20 66 69  port.  file.  fi
05a0: 6e 66 6f 0a 20 20 66 6f 63 69 0a 20 20 66 73 68  nfo.  foci.  fsh
05b0: 65 6c 6c 0a 20 20 66 75 73 65 66 73 0a 20 20 67  ell.  fusefs.  g
05c0: 6c 6f 62 0a 20 20 67 72 61 70 68 0a 20 20 67 7a  lob.  graph.  gz
05d0: 69 70 0a 20 20 68 6e 61 6d 65 0a 20 20 68 74 74  ip.  hname.  htt
05e0: 70 0a 20 20 68 74 74 70 5f 73 6f 63 6b 65 74 0a  p.  http_socket.
05f0: 20 20 68 74 74 70 5f 74 72 61 6e 73 70 6f 72 74    http_transport
0600: 0a 20 20 69 6d 70 6f 72 74 0a 20 20 69 6e 66 6f  .  import.  info
0610: 0a 20 20 6a 73 6f 6e 0a 20 20 6a 73 6f 6e 5f 61  .  json.  json_a
0620: 72 74 69 66 61 63 74 0a 20 20 6a 73 6f 6e 5f 62  rtifact.  json_b
0630: 72 61 6e 63 68 0a 20 20 6a 73 6f 6e 5f 63 6f 6e  ranch.  json_con
0640: 66 69 67 0a 20 20 6a 73 6f 6e 5f 64 69 66 66 0a  fig.  json_diff.
0650: 20 20 6a 73 6f 6e 5f 64 69 72 0a 20 20 6a 73 6f    json_dir.  jso
0660: 6e 5f 66 69 6e 66 6f 0a 20 20 6a 73 6f 6e 5f 6c  n_finfo.  json_l
0670: 6f 67 69 6e 0a 20 20 6a 73 6f 6e 5f 71 75 65 72  ogin.  json_quer
0680: 79 0a 20 20 6a 73 6f 6e 5f 72 65 70 6f 72 74 0a  y.  json_report.
0690: 20 20 6a 73 6f 6e 5f 73 74 61 74 75 73 0a 20 20    json_status.  
06a0: 6a 73 6f 6e 5f 74 61 67 0a 20 20 6a 73 6f 6e 5f  json_tag.  json_
06b0: 74 69 6d 65 6c 69 6e 65 0a 20 20 6a 73 6f 6e 5f  timeline.  json_
06c0: 75 73 65 72 0a 20 20 6a 73 6f 6e 5f 77 69 6b 69  user.  json_wiki
06d0: 0a 20 20 6c 65 61 66 0a 20 20 6c 6f 61 64 63 74  .  leaf.  loadct
06e0: 72 6c 0a 20 20 6c 6f 67 69 6e 0a 20 20 6c 6f 6f  rl.  login.  loo
06f0: 6b 73 6c 69 6b 65 0a 20 20 6d 61 69 6e 0a 20 20  kslike.  main.  
0700: 6d 61 6e 69 66 65 73 74 0a 20 20 6d 61 72 6b 64  manifest.  markd
0710: 6f 77 6e 0a 20 20 6d 61 72 6b 64 6f 77 6e 5f 68  own.  markdown_h
0720: 74 6d 6c 0a 20 20 6d 64 35 0a 20 20 6d 65 72 67  tml.  md5.  merg
0730: 65 0a 20 20 6d 65 72 67 65 33 0a 20 20 6d 6f 64  e.  merge3.  mod
0740: 65 72 61 74 65 0a 20 20 6e 61 6d 65 0a 20 20 70  erate.  name.  p
0750: 61 74 68 0a 20 20 70 69 65 63 68 61 72 74 0a 20  ath.  piechart. 
0760: 20 70 69 76 6f 74 0a 20 20 70 6f 70 65 6e 0a 20   pivot.  popen. 
0770: 20 70 71 75 65 75 65 0a 20 20 70 72 69 6e 74 66   pqueue.  printf
0780: 0a 20 20 70 75 62 6c 69 73 68 0a 20 20 70 75 72  .  publish.  pur
0790: 67 65 0a 20 20 72 65 62 75 69 6c 64 0a 20 20 72  ge.  rebuild.  r
07a0: 65 67 65 78 70 0a 20 20 72 65 70 6f 72 74 0a 20  egexp.  report. 
07b0: 20 72 73 73 0a 20 20 73 63 68 65 6d 61 0a 20 20   rss.  schema.  
07c0: 73 65 61 72 63 68 0a 20 20 73 65 63 75 72 69 74  search.  securit
07d0: 79 5f 61 75 64 69 74 0a 20 20 73 65 74 75 70 0a  y_audit.  setup.
07e0: 20 20 73 68 61 31 0a 20 20 73 68 61 31 68 61 72    sha1.  sha1har
07f0: 64 0a 20 20 73 68 61 33 0a 20 20 73 68 75 6e 0a  d.  sha3.  shun.
0800: 20 20 73 69 74 65 6d 61 70 0a 20 20 73 6b 69 6e    sitemap.  skin
0810: 73 0a 20 20 73 71 6c 63 6d 64 0a 20 20 73 74 61  s.  sqlcmd.  sta
0820: 73 68 0a 20 20 73 74 61 74 0a 20 20 73 74 61 74  sh.  stat.  stat
0830: 72 65 70 0a 20 20 73 74 79 6c 65 0a 20 20 73 79  rep.  style.  sy
0840: 6e 63 0a 20 20 74 61 67 0a 20 20 74 61 72 0a 20  nc.  tag.  tar. 
0850: 20 74 68 5f 6d 61 69 6e 0a 20 20 74 69 6d 65 6c   th_main.  timel
0860: 69 6e 65 0a 20 20 74 6b 74 0a 20 20 74 6b 74 73  ine.  tkt.  tkts
0870: 65 74 75 70 0a 20 20 75 6e 64 6f 0a 20 20 75 6e  etup.  undo.  un
0880: 69 63 6f 64 65 0a 20 20 75 6e 76 65 72 73 69 6f  icode.  unversio
0890: 6e 65 64 0a 20 20 75 70 64 61 74 65 0a 20 20 75  ned.  update.  u
08a0: 72 6c 0a 20 20 75 73 65 72 0a 20 20 75 74 66 38  rl.  user.  utf8
08b0: 0a 20 20 75 74 69 6c 0a 20 20 76 65 72 69 66 79  .  util.  verify
08c0: 0a 20 20 76 66 69 6c 65 0a 20 20 77 69 6b 69 0a  .  vfile.  wiki.
08d0: 20 20 77 69 6b 69 66 6f 72 6d 61 74 0a 20 20 77    wikiformat.  w
08e0: 69 6e 66 69 6c 65 0a 20 20 77 69 6e 68 74 74 70  infile.  winhttp
08f0: 0a 20 20 77 79 73 69 77 79 67 0a 20 20 78 66 65  .  wysiwyg.  xfe
0900: 72 0a 20 20 78 66 65 72 73 65 74 75 70 0a 20 20  r.  xfersetup.  
0910: 7a 69 70 0a 20 20 68 74 74 70 5f 73 73 6c 0a 7d  zip.  http_ssl.}
0920: 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 72  ..# Additional r
0930: 65 73 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68  esource files th
0940: 61 74 20 67 65 74 20 62 75 69 6c 74 20 69 6e 74  at get built int
0950: 6f 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65  o the executable
0960: 2e 0a 23 0a 73 65 74 20 65 78 74 72 61 5f 66 69  ..#.set extra_fi
0970: 6c 65 73 20 7b 0a 20 20 64 69 66 66 2e 74 63 6c  les {.  diff.tcl
0980: 0a 20 20 6d 61 72 6b 64 6f 77 6e 2e 6d 64 0a 20  .  markdown.md. 
0990: 20 77 69 6b 69 2e 77 69 6b 69 0a 20 20 2a 2e 6a   wiki.wiki.  *.j
09a0: 73 0a 20 20 2e 2e 2f 73 6b 69 6e 73 2f 2a 2f 2a  s.  ../skins/*/*
09b0: 2e 74 78 74 0a 7d 0a 0a 23 20 4f 70 74 69 6f 6e  .txt.}..# Option
09c0: 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c  s used to compil
09d0: 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 53  e the included S
09e0: 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e 0a 23  QLite library..#
09f0: 0a 73 65 74 20 53 51 4c 49 54 45 5f 4f 50 54 49  .set SQLITE_OPTI
0a00: 4f 4e 53 20 7b 0a 20 20 2d 44 4e 44 45 42 55 47  ONS {.  -DNDEBUG
0a10: 3d 31 0a 20 20 2d 44 53 51 4c 49 54 45 5f 54 48  =1.  -DSQLITE_TH
0a20: 52 45 41 44 53 41 46 45 3d 30 0a 20 20 2d 44 53  READSAFE=0.  -DS
0a30: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 4d 45  QLITE_DEFAULT_ME
0a40: 4d 53 54 41 54 55 53 3d 30 0a 20 20 2d 44 53 51  MSTATUS=0.  -DSQ
0a50: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 57 41 4c  LITE_DEFAULT_WAL
0a60: 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 3d 31 0a 20  _SYNCHRONOUS=1. 
0a70: 20 2d 44 53 51 4c 49 54 45 5f 4c 49 4b 45 5f 44   -DSQLITE_LIKE_D
0a80: 4f 45 53 4e 54 5f 4d 41 54 43 48 5f 42 4c 4f 42  OESNT_MATCH_BLOB
0a90: 53 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  S.  -DSQLITE_OMI
0aa0: 54 5f 44 45 43 4c 54 59 50 45 0a 20 20 2d 44 53  T_DECLTYPE.  -DS
0ab0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 50 52 45  QLITE_OMIT_DEPRE
0ac0: 43 41 54 45 44 0a 20 20 2d 44 53 51 4c 49 54 45  CATED.  -DSQLITE
0ad0: 5f 4f 4d 49 54 5f 47 45 54 5f 54 41 42 4c 45 0a  _OMIT_GET_TABLE.
0ae0: 20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f    -DSQLITE_OMIT_
0af0: 50 52 4f 47 52 45 53 53 5f 43 41 4c 4c 42 41 43  PROGRESS_CALLBAC
0b00: 4b 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  K.  -DSQLITE_OMI
0b10: 54 5f 53 48 41 52 45 44 5f 43 41 43 48 45 0a 20  T_SHARED_CACHE. 
0b20: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c   -DSQLITE_OMIT_L
0b30: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 20 20  OAD_EXTENSION.  
0b40: 2d 44 53 51 4c 49 54 45 5f 4d 41 58 5f 45 58 50  -DSQLITE_MAX_EXP
0b50: 52 5f 44 45 50 54 48 3d 30 0a 20 20 2d 44 53 51  R_DEPTH=0.  -DSQ
0b60: 4c 49 54 45 5f 55 53 45 5f 41 4c 4c 4f 43 41 0a  LITE_USE_ALLOCA.
0b70: 20 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c    -DSQLITE_ENABL
0b80: 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 3d  E_LOCKING_STYLE=
0b90: 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 45 46  0.  -DSQLITE_DEF
0ba0: 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54  AULT_FILE_FORMAT
0bb0: 3d 34 0a 20 20 2d 44 53 51 4c 49 54 45 5f 45 4e  =4.  -DSQLITE_EN
0bc0: 41 42 4c 45 5f 45 58 50 4c 41 49 4e 5f 43 4f 4d  ABLE_EXPLAIN_COM
0bd0: 4d 45 4e 54 53 0a 20 20 2d 44 53 51 4c 49 54 45  MENTS.  -DSQLITE
0be0: 5f 45 4e 41 42 4c 45 5f 46 54 53 34 0a 20 20 2d  _ENABLE_FTS4.  -
0bf0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46  DSQLITE_ENABLE_F
0c00: 54 53 33 5f 50 41 52 45 4e 54 48 45 53 49 53 0a  TS3_PARENTHESIS.
0c10: 20 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c    -DSQLITE_ENABL
0c20: 45 5f 44 42 53 54 41 54 5f 56 54 41 42 0a 20 20  E_DBSTAT_VTAB.  
0c30: 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  -DSQLITE_ENABLE_
0c40: 4a 53 4f 4e 31 0a 20 20 2d 44 53 51 4c 49 54 45  JSON1.  -DSQLITE
0c50: 5f 45 4e 41 42 4c 45 5f 46 54 53 35 0a 20 20 2d  _ENABLE_FTS5.  -
0c60: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  DSQLITE_ENABLE_S
0c70: 54 4d 54 56 54 41 42 0a 20 20 2d 44 53 51 4c 49  TMTVTAB.  -DSQLI
0c80: 54 45 5f 55 53 45 5f 5a 4c 49 42 0a 20 20 2d 44  TE_USE_ZLIB.  -D
0c90: 53 51 4c 49 54 45 5f 49 4e 54 52 4f 53 50 45 43  SQLITE_INTROSPEC
0ca0: 54 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 20 20 2d  TION_PRAGMAS.  -
0cb0: 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 44  DSQLITE_ENABLE_D
0cc0: 42 50 41 47 45 5f 56 54 41 42 0a 7d 0a 23 6c 61  BPAGE_VTAB.}.#la
0cd0: 70 70 65 6e 64 20 53 51 4c 49 54 45 5f 4f 50 54  ppend SQLITE_OPT
0ce0: 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 45 4e  IONS -DSQLITE_EN
0cf0: 41 42 4c 45 5f 46 54 53 33 3d 31 0a 23 6c 61 70  ABLE_FTS3=1.#lap
0d00: 70 65 6e 64 20 53 51 4c 49 54 45 5f 4f 50 54 49  pend SQLITE_OPTI
0d10: 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  ONS -DSQLITE_ENA
0d20: 42 4c 45 5f 53 54 41 54 34 0a 23 6c 61 70 70 65  BLE_STAT4.#lappe
0d30: 6e 64 20 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  nd SQLITE_OPTION
0d40: 53 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  S -DSQLITE_WIN32
0d50: 5f 4e 4f 5f 41 4e 53 49 0a 23 6c 61 70 70 65 6e  _NO_ANSI.#lappen
0d60: 64 20 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53  d SQLITE_OPTIONS
0d70: 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 4e 54 5f   -DSQLITE_WINNT_
0d80: 4d 41 58 5f 50 41 54 48 5f 43 48 41 52 53 3d 34  MAX_PATH_CHARS=4
0d90: 30 39 36 0a 0a 23 20 4f 70 74 69 6f 6e 73 20 75  096..# Options u
0da0: 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 20 74  sed to compile t
0db0: 68 65 20 69 6e 63 6c 75 64 65 64 20 53 51 4c 69  he included SQLi
0dc0: 74 65 20 73 68 65 6c 6c 2e 0a 23 0a 73 65 74 20  te shell..#.set 
0dd0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 7b 0a  SHELL_OPTIONS {.
0de0: 20 20 2d 44 6d 61 69 6e 3d 73 71 6c 69 74 65 33    -Dmain=sqlite3
0df0: 5f 73 68 65 6c 6c 0a 20 20 2d 44 53 51 4c 49 54  _shell.  -DSQLIT
0e00: 45 5f 53 48 45 4c 4c 5f 49 53 5f 55 54 46 38 3d  E_SHELL_IS_UTF8=
0e10: 31 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49  1.  -DSQLITE_OMI
0e20: 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e  T_LOAD_EXTENSION
0e30: 3d 31 0a 20 20 2d 44 55 53 45 5f 53 59 53 54 45  =1.  -DUSE_SYSTE
0e40: 4d 5f 53 51 4c 49 54 45 3d 24 28 55 53 45 5f 53  M_SQLITE=$(USE_S
0e50: 59 53 54 45 4d 5f 53 51 4c 49 54 45 29 0a 20 20  YSTEM_SQLITE).  
0e60: 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44  -DSQLITE_SHELL_D
0e70: 42 4e 41 4d 45 5f 50 52 4f 43 3d 66 6f 73 73 69  BNAME_PROC=fossi
0e80: 6c 5f 6f 70 65 6e 0a 7d 0a 0a 23 20 6d 69 6e 69  l_open.}..# mini
0e90: 7a 20 28 6c 69 62 7a 20 64 72 6f 70 2d 69 6e 20  z (libz drop-in 
0ea0: 61 6c 74 65 72 6e 61 74 69 76 65 29 20 70 72 65  alternative) pre
0eb0: 63 6f 6d 70 69 6c 65 72 20 66 6c 61 67 73 2e 0a  compiler flags..
0ec0: 23 0a 73 65 74 20 4d 49 4e 49 5a 5f 4f 50 54 49  #.set MINIZ_OPTI
0ed0: 4f 4e 53 20 7b 0a 20 20 2d 44 4d 49 4e 49 5a 5f  ONS {.  -DMINIZ_
0ee0: 4e 4f 5f 53 54 44 49 4f 0a 20 20 2d 44 4d 49 4e  NO_STDIO.  -DMIN
0ef0: 49 5a 5f 4e 4f 5f 54 49 4d 45 0a 20 20 2d 44 4d  IZ_NO_TIME.  -DM
0f00: 49 4e 49 5a 5f 4e 4f 5f 41 52 43 48 49 56 45 5f  INIZ_NO_ARCHIVE_
0f10: 41 50 49 53 0a 7d 0a 0a 23 20 4f 70 74 69 6f 6e  APIS.}..# Option
0f20: 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c  s used to compil
0f30: 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 53  e the included S
0f40: 51 4c 69 74 65 20 73 68 65 6c 6c 20 6f 6e 20 57  QLite shell on W
0f50: 69 6e 64 6f 77 73 2e 0a 23 0a 73 65 74 20 53 48  indows..#.set SH
0f60: 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ELL_WIN32_OPTION
0f70: 53 20 24 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53  S $SHELL_OPTIONS
0f80: 0a 6c 61 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57  .lappend SHELL_W
0f90: 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 61  IN32_OPTIONS -Da
0fa0: 63 63 65 73 73 3d 66 69 6c 65 5f 61 63 63 65 73  ccess=file_acces
0fb0: 73 0a 6c 61 70 70 65 6e 64 20 53 48 45 4c 4c 5f  s.lappend SHELL_
0fc0: 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d 44  WIN32_OPTIONS -D
0fd0: 73 79 73 74 65 6d 3d 66 6f 73 73 69 6c 5f 73 79  system=fossil_sy
0fe0: 73 74 65 6d 0a 6c 61 70 70 65 6e 64 20 53 48 45  stem.lappend SHE
0ff0: 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53  LL_WIN32_OPTIONS
1000: 20 2d 44 67 65 74 65 6e 76 3d 66 6f 73 73 69 6c   -Dgetenv=fossil
1010: 5f 67 65 74 65 6e 76 0a 6c 61 70 70 65 6e 64 20  _getenv.lappend 
1020: 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49  SHELL_WIN32_OPTI
1030: 4f 4e 53 20 2d 44 66 6f 70 65 6e 3d 66 6f 73 73  ONS -Dfopen=foss
1040: 69 6c 5f 66 6f 70 65 6e 0a 0a 23 20 53 54 4f 50  il_fopen..# STOP
1050: 20 48 45 52 45 2e 0a 23 20 55 6e 6c 65 73 73 20   HERE..# Unless 
1060: 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 64  the build proced
1070: 75 72 65 73 20 63 68 61 6e 67 65 73 2c 20 79 6f  ures changes, yo
1080: 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 68 61 76  u should not hav
1090: 65 20 74 6f 20 65 64 69 74 20 61 6e 79 74 68 69  e to edit anythi
10a0: 6e 67 0a 23 20 62 65 6c 6f 77 20 74 68 69 73 20  ng.# below this 
10b0: 6c 69 6e 65 2e 0a 23 23 23 23 23 23 23 23 23 23  line..##########
10c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1100: 23 23 23 0a 0a 23 20 4e 61 6d 65 20 6f 66 20 74  ###..# Name of t
1110: 68 65 20 66 69 6e 61 6c 20 61 70 70 6c 69 63 61  he final applica
1120: 74 69 6f 6e 0a 23 0a 73 65 74 20 6e 61 6d 65 20  tion.#.set name 
1130: 66 6f 73 73 69 6c 0a 0a 23 20 54 68 65 20 22 77  fossil..# The "w
1140: 72 69 74 65 6c 6e 22 20 63 6f 6d 6d 61 6e 64 20  riteln" command 
1150: 73 65 6e 64 73 20 6f 75 74 70 75 74 20 74 6f 20  sends output to 
1160: 74 68 65 20 74 61 72 67 65 74 20 6d 61 6b 65 66  the target makef
1170: 69 6c 65 2e 0a 23 0a 70 72 6f 63 20 77 72 69 74  ile..#.proc writ
1180: 65 6c 6e 20 7b 61 72 67 73 7d 20 7b 0a 20 20 67  eln {args} {.  g
1190: 6c 6f 62 61 6c 20 6f 75 74 70 75 74 5f 66 69 6c  lobal output_fil
11a0: 65 0a 20 20 69 66 20 7b 5b 6c 69 6e 64 65 78 20  e.  if {[lindex 
11b0: 24 61 72 67 73 20 30 5d 3d 3d 22 2d 6e 6f 6e 65  $args 0]=="-none
11c0: 77 6c 69 6e 65 22 7d 20 7b 0a 20 20 20 20 70 75  wline"} {.    pu
11d0: 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 6f  ts -nonewline $o
11e0: 75 74 70 75 74 5f 66 69 6c 65 20 5b 6c 69 6e 64  utput_file [lind
11f0: 65 78 20 24 61 72 67 73 20 31 5d 0a 20 20 7d 20  ex $args 1].  } 
1200: 65 6c 73 65 20 7b 0a 20 20 20 20 70 75 74 73 20  else {.    puts 
1210: 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6c 69  $output_file [li
1220: 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0a 20 20  ndex $args 0].  
1230: 7d 0a 7d 0a 0a 23 20 45 78 70 61 6e 64 20 61 6e  }.}..# Expand an
1240: 79 20 77 69 6c 64 63 61 72 64 73 20 69 6e 20 22  y wildcards in "
1250: 65 78 74 72 61 5f 66 69 6c 65 73 22 0a 73 65 74  extra_files".set
1260: 20 6e 65 77 5f 65 78 74 72 61 5f 66 69 6c 65 73   new_extra_files
1270: 20 7b 7d 0a 66 6f 72 65 61 63 68 20 66 69 6c 65   {}.foreach file
1280: 20 24 65 78 74 72 61 5f 66 69 6c 65 73 20 7b 0a   $extra_files {.
1290: 20 20 66 6f 72 65 61 63 68 20 78 20 5b 67 6c 6f    foreach x [glo
12a0: 62 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 24 66  b -nocomplain $f
12b0: 69 6c 65 5d 20 7b 0a 20 20 20 20 6c 61 70 70 65  ile] {.    lappe
12c0: 6e 64 20 6e 65 77 5f 65 78 74 72 61 5f 66 69 6c  nd new_extra_fil
12d0: 65 73 20 24 78 0a 20 20 7d 0a 7d 0a 73 65 74 20  es $x.  }.}.set 
12e0: 65 78 74 72 61 5f 66 69 6c 65 73 20 24 6e 65 77  extra_files $new
12f0: 5f 65 78 74 72 61 5f 66 69 6c 65 73 0a 0a 23 23  _extra_files..##
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 23 23 23 23 23 23 23 23 23 23 23 0a 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: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23  ###########.####
13a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13e0: 23 23 23 23 23 23 23 23 23 23 0a 23 20 53 74 61  ##########.# Sta
13f0: 72 74 20 62 79 20 67 65 6e 65 72 61 74 69 6e 67  rt by generating
1400: 20 74 68 65 20 22 6d 61 69 6e 2e 6d 6b 22 20 6d   the "main.mk" m
1410: 61 6b 65 66 69 6c 65 20 75 73 65 64 20 66 6f 72  akefile used for
1420: 20 61 6c 6c 20 75 6e 69 78 20 73 79 73 74 65 6d   all unix system
1430: 73 2e 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64  s..#.puts "build
1440: 69 6e 67 20 6d 61 69 6e 2e 6d 6b 22 0a 73 65 74  ing main.mk".set
1450: 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70   output_file [op
1460: 65 6e 20 6d 61 69 6e 2e 6d 6b 20 77 5d 0a 66 63  en main.mk w].fc
1470: 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70 75 74  onfigure $output
1480: 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69  _file -translati
1490: 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65  on binary..write
14a0: 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23  ln {#.##########
14b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
14c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
14d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
14e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
14f0: 23 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20  ####.# WARNING: 
1500: 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54  DO NOT EDIT, AUT
1510: 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52  OMATICALLY GENER
1520: 41 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22  ATED FILE (SEE "
1530: 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c  src/makemake.tcl
1540: 22 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ").#############
1550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1590: 23 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20  #.#.# This file 
15a0: 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  is automatically
15b0: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73   generated.  Ins
15c0: 74 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20  tead of editing 
15d0: 74 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69  this.# file, edi
15e0: 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  t "makemake.tcl"
15f0: 20 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68   then run "tclsh
1600: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23   makemake.tcl".#
1610: 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74   to regenerate t
1620: 68 69 73 20 66 69 6c 65 2e 0a 23 0a 23 20 54 68  his file..#.# Th
1630: 69 73 20 66 69 6c 65 20 69 73 20 69 6e 63 6c 75  is file is inclu
1640: 64 65 64 20 62 79 20 70 72 69 6d 61 72 79 20 4d  ded by primary M
1650: 61 6b 65 66 69 6c 65 2e 0a 23 0a 0a 58 42 43 43  akefile..#..XBCC
1660: 20 3d 20 24 28 42 43 43 29 20 24 28 42 43 43 46   = $(BCC) $(BCCF
1670: 4c 41 47 53 29 20 24 28 43 46 4c 41 47 53 29 0a  LAGS) $(CFLAGS).
1680: 58 54 43 43 20 3d 20 24 28 54 43 43 29 20 2d 49  XTCC = $(TCC) -I
1690: 2e 20 2d 49 24 28 53 52 43 44 49 52 29 20 2d 49  . -I$(SRCDIR) -I
16a0: 24 28 4f 42 4a 44 49 52 29 20 24 28 54 43 43 46  $(OBJDIR) $(TCCF
16b0: 4c 41 47 53 29 20 24 28 43 46 4c 41 47 53 29 0a  LAGS) $(CFLAGS).
16c0: 0a 7d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .}.writeln -none
16d0: 77 6c 69 6e 65 20 22 53 52 43 20 3d 22 0a 66 6f  wline "SRC =".fo
16e0: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
16f0: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
1700: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
1710: 5c 6e 20 20 5c 24 28 53 52 43 44 49 52 29 2f 24  \n  \$(SRCDIR)/$
1720: 73 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22  s.c".}.writeln "
1730: 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  \n".writeln -non
1740: 65 77 6c 69 6e 65 20 22 45 58 54 52 41 5f 46 49  ewline "EXTRA_FI
1750: 4c 45 53 20 3d 22 0a 66 6f 72 65 61 63 68 20 73  LES =".foreach s
1760: 20 5b 6c 73 6f 72 74 20 24 65 78 74 72 61 5f 66   [lsort $extra_f
1770: 69 6c 65 73 5d 20 7b 0a 20 20 77 72 69 74 65 6c  iles] {.  writel
1780: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c  n -nonewline " \
1790: 5c 5c 6e 20 20 5c 24 28 53 52 43 44 49 52 29 2f  \\n  \$(SRCDIR)/
17a0: 24 73 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  $s".}.writeln "\
17b0: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
17c0: 77 6c 69 6e 65 20 22 54 52 41 4e 53 5f 53 52 43  wline "TRANS_SRC
17d0: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c   =".foreach s [l
17e0: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
17f0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
1800: 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 4f 42 4a  e " \\\n  \$(OBJ
1810: 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 22 0a 7d 0a  DIR)/${s}_.c".}.
1820: 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69  writeln "\n".wri
1830: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
1840: 22 4f 42 4a 20 3d 22 0a 66 6f 72 65 61 63 68 20  "OBJ =".foreach 
1850: 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b  s [lsort $src] {
1860: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
1870: 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 5c 24 28  wline " \\\n \$(
1880: 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 22 0a 7d 0a  OBJDIR)/$s.o".}.
1890: 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69  writeln "\n".wri
18a0: 74 65 6c 6e 20 22 41 50 50 4e 41 4d 45 20 3d 20  teln "APPNAME = 
18b0: 24 6e 61 6d 65 5c 24 28 45 29 22 0a 77 72 69 74  $name\$(E)".writ
18c0: 65 6c 6e 20 22 5c 6e 22 0a 0a 77 72 69 74 65 6c  eln "\n"..writel
18d0: 6e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  n [string map [l
18e0: 69 73 74 20 5c 0a 20 20 20 20 3c 3c 3c 53 51 4c  ist \.    <<<SQL
18f0: 49 54 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 20 5b  ITE_OPTIONS>>> [
1900: 6a 6f 69 6e 20 24 53 51 4c 49 54 45 5f 4f 50 54  join $SQLITE_OPT
1910: 49 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20 20 20  IONS " \\\n     
1920: 20 20 20 20 20 20 20 20 20 20 20 20 22 5d 20 5c              "] \
1930: 0a 20 20 20 20 3c 3c 3c 53 48 45 4c 4c 5f 4f 50  .    <<<SHELL_OP
1940: 54 49 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24  TIONS>>> [join $
1950: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 22 20  SHELL_OPTIONS " 
1960: 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20  \\\n            
1970: 20 20 20 20 22 5d 20 5c 0a 20 20 20 20 3c 3c 3c      "] \.    <<<
1980: 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 3e 3e 3e  MINIZ_OPTIONS>>>
1990: 20 5b 6a 6f 69 6e 20 24 4d 49 4e 49 5a 5f 4f 50   [join $MINIZ_OP
19a0: 54 49 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20 20  TIONS " \\\n    
19b0: 20 20 20 20 20 20 20 20 20 20 20 20 22 5d 5d 20              "]] 
19c0: 7b 0a 61 6c 6c 3a 09 24 28 4f 42 4a 44 49 52 29  {.all:.$(OBJDIR)
19d0: 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 69 6e 73   $(APPNAME)..ins
19e0: 74 61 6c 6c 3a 09 24 28 41 50 50 4e 41 4d 45 29  tall:.$(APPNAME)
19f0: 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 49 4e 53  ..mkdir -p $(INS
1a00: 54 41 4c 4c 44 49 52 29 0a 09 6d 76 20 24 28 41  TALLDIR)..mv $(A
1a10: 50 50 4e 41 4d 45 29 20 24 28 49 4e 53 54 41 4c  PPNAME) $(INSTAL
1a20: 4c 44 49 52 29 0a 0a 63 6f 64 65 63 68 65 63 6b  LDIR)..codecheck
1a30: 3a 09 24 28 54 52 41 4e 53 5f 53 52 43 29 20 24  :.$(TRANS_SRC) $
1a40: 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 68 65  (OBJDIR)/codeche
1a50: 63 6b 31 0a 09 24 28 4f 42 4a 44 49 52 29 2f 63  ck1..$(OBJDIR)/c
1a60: 6f 64 65 63 68 65 63 6b 31 20 24 28 54 52 41 4e  odecheck1 $(TRAN
1a70: 53 5f 53 52 43 29 0a 0a 24 28 4f 42 4a 44 49 52  S_SRC)..$(OBJDIR
1a80: 29 3a 0a 09 2d 6d 6b 64 69 72 20 24 28 4f 42 4a  ):..-mkdir $(OBJ
1a90: 44 49 52 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f  DIR)..$(OBJDIR)/
1aa0: 74 72 61 6e 73 6c 61 74 65 3a 09 24 28 53 52 43  translate:.$(SRC
1ab0: 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63  DIR)/translate.c
1ac0: 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f  ..$(XBCC) -o $(O
1ad0: 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65  BJDIR)/translate
1ae0: 20 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73   $(SRCDIR)/trans
1af0: 6c 61 74 65 2e 63 0a 0a 24 28 4f 42 4a 44 49 52  late.c..$(OBJDIR
1b00: 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 3a 09 24  )/makeheaders:.$
1b10: 28 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61  (SRCDIR)/makehea
1b20: 64 65 72 73 2e 63 0a 09 24 28 58 42 43 43 29 20  ders.c..$(XBCC) 
1b30: 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b  -o $(OBJDIR)/mak
1b40: 65 68 65 61 64 65 72 73 20 24 28 53 52 43 44 49  eheaders $(SRCDI
1b50: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 63  R)/makeheaders.c
1b60: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e  ..$(OBJDIR)/mkin
1b70: 64 65 78 3a 09 24 28 53 52 43 44 49 52 29 2f 6d  dex:.$(SRCDIR)/m
1b80: 6b 69 6e 64 65 78 2e 63 0a 09 24 28 58 42 43 43  kindex.c..$(XBCC
1b90: 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d  ) -o $(OBJDIR)/m
1ba0: 6b 69 6e 64 65 78 20 24 28 53 52 43 44 49 52 29  kindex $(SRCDIR)
1bb0: 2f 6d 6b 69 6e 64 65 78 2e 63 0a 0a 24 28 4f 42  /mkindex.c..$(OB
1bc0: 4a 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 3a  JDIR)/mkbuiltin:
1bd0: 09 24 28 53 52 43 44 49 52 29 2f 6d 6b 62 75 69  .$(SRCDIR)/mkbui
1be0: 6c 74 69 6e 2e 63 0a 09 24 28 58 42 43 43 29 20  ltin.c..$(XBCC) 
1bf0: 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62  -o $(OBJDIR)/mkb
1c00: 75 69 6c 74 69 6e 20 24 28 53 52 43 44 49 52 29  uiltin $(SRCDIR)
1c10: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 0a 24 28  /mkbuiltin.c..$(
1c20: 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f  OBJDIR)/mkversio
1c30: 6e 3a 09 24 28 53 52 43 44 49 52 29 2f 6d 6b 76  n:.$(SRCDIR)/mkv
1c40: 65 72 73 69 6f 6e 2e 63 0a 09 24 28 58 42 43 43  ersion.c..$(XBCC
1c50: 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d  ) -o $(OBJDIR)/m
1c60: 6b 76 65 72 73 69 6f 6e 20 24 28 53 52 43 44 49  kversion $(SRCDI
1c70: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 0a  R)/mkversion.c..
1c80: 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 73 73 3a  $(OBJDIR)/mkcss:
1c90: 09 24 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73  .$(SRCDIR)/mkcss
1ca0: 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24  .c..$(XBCC) -o $
1cb0: 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 73 73 20 24  (OBJDIR)/mkcss $
1cc0: 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e 63  (SRCDIR)/mkcss.c
1cd0: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65  ..$(OBJDIR)/code
1ce0: 63 68 65 63 6b 31 3a 09 24 28 53 52 43 44 49 52  check1:.$(SRCDIR
1cf0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 09  )/codecheck1.c..
1d00: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a  $(XBCC) -o $(OBJ
1d10: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20  DIR)/codecheck1 
1d20: 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65 63 68  $(SRCDIR)/codech
1d30: 65 63 6b 31 2e 63 0a 0a 23 20 52 75 6e 20 74 68  eck1.c..# Run th
1d40: 65 20 74 65 73 74 20 73 75 69 74 65 2e 0a 23 20  e test suite..# 
1d50: 4f 74 68 65 72 20 66 6c 61 67 73 20 74 68 61 74  Other flags that
1d60: 20 63 61 6e 20 62 65 20 69 6e 63 6c 75 64 65 64   can be included
1d70: 20 69 6e 20 54 45 53 54 46 4c 41 47 53 20 61 72   in TESTFLAGS ar
1d80: 65 3a 0a 23 0a 23 20 20 2d 68 61 6c 74 20 20 20  e:.#.#  -halt   
1d90: 20 20 53 74 6f 70 20 74 65 73 74 69 6e 67 20 61    Stop testing a
1da0: 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 66  fter the first f
1db0: 61 69 6c 65 64 20 74 65 73 74 0a 23 20 20 2d 6b  ailed test.#  -k
1dc0: 65 65 70 20 20 20 20 20 4b 65 65 70 20 74 68 65  eep     Keep the
1dd0: 20 74 65 6d 70 6f 72 61 72 79 20 77 6f 72 6b 73   temporary works
1de0: 70 61 63 65 20 66 6f 72 20 64 65 62 75 67 67 69  pace for debuggi
1df0: 6e 67 0a 23 20 20 2d 70 72 6f 74 20 20 20 20 20  ng.#  -prot     
1e00: 57 72 69 74 65 20 61 20 64 65 74 61 69 6c 65 64  Write a detailed
1e10: 20 6c 6f 67 20 6f 66 20 74 68 65 20 74 65 73 74   log of the test
1e20: 73 20 74 6f 20 74 68 65 20 66 69 6c 65 20 2e 2f  s to the file ./
1e30: 70 72 6f 74 0a 23 20 20 2d 76 65 72 62 6f 73 65  prot.#  -verbose
1e40: 20 20 49 6e 63 6c 75 64 65 20 65 76 65 6e 20 6d    Include even m
1e50: 6f 72 65 20 64 65 74 61 69 6c 73 20 69 6e 20 74  ore details in t
1e60: 68 65 20 6f 75 74 70 75 74 0a 23 20 20 2d 71 75  he output.#  -qu
1e70: 69 65 74 20 20 20 20 48 69 64 65 20 6d 6f 73 74  iet    Hide most
1e80: 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65   output from the
1e90: 20 74 65 72 6d 69 6e 61 6c 0a 23 20 20 2d 73 74   terminal.#  -st
1ea0: 72 69 63 74 20 20 20 54 72 65 61 74 20 6b 6e 6f  rict   Treat kno
1eb0: 77 6e 20 62 75 67 73 20 61 73 20 66 61 69 6c 75  wn bugs as failu
1ec0: 72 65 73 0a 23 0a 23 20 54 45 53 54 46 4c 41 47  res.#.# TESTFLAG
1ed0: 53 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75  S can also inclu
1ee0: 64 65 20 6e 61 6d 65 73 20 6f 66 20 73 70 65 63  de names of spec
1ef0: 69 66 69 63 20 74 65 73 74 20 66 69 6c 65 73 20  ific test files 
1f00: 74 6f 20 6c 69 6d 69 74 0a 23 20 74 68 65 20 72  to limit.# the r
1f10: 75 6e 20 74 6f 20 6a 75 73 74 20 74 68 6f 73 65  un to just those
1f20: 20 74 65 73 74 20 63 61 73 65 73 2e 0a 23 0a 74   test cases..#.t
1f30: 65 73 74 3a 09 24 28 4f 42 4a 44 49 52 29 20 24  est:.$(OBJDIR) $
1f40: 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 54 43 4c  (APPNAME)..$(TCL
1f50: 53 48 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  SH) $(SRCDIR)/..
1f60: 2f 74 65 73 74 2f 74 65 73 74 65 72 2e 74 63 6c  /test/tester.tcl
1f70: 20 24 28 41 50 50 4e 41 4d 45 29 20 2d 71 75 69   $(APPNAME) -qui
1f80: 65 74 20 24 28 54 45 53 54 46 4c 41 47 53 29 0a  et $(TESTFLAGS).
1f90: 0a 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  .$(OBJDIR)/VERSI
1fa0: 4f 4e 2e 68 3a 09 24 28 53 52 43 44 49 52 29 2f  ON.h:.$(SRCDIR)/
1fb0: 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64  ../manifest.uuid
1fc0: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61   $(SRCDIR)/../ma
1fd0: 6e 69 66 65 73 74 20 24 28 53 52 43 44 49 52 29  nifest $(SRCDIR)
1fe0: 2f 2e 2e 2f 56 45 52 53 49 4f 4e 20 24 28 4f 42  /../VERSION $(OB
1ff0: 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 0a  JDIR)/mkversion.
2000: 09 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 72  .$(OBJDIR)/mkver
2010: 73 69 6f 6e 20 24 28 53 52 43 44 49 52 29 2f 2e  sion $(SRCDIR)/.
2020: 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20  ./manifest.uuid 
2030: 5c 0a 09 09 24 28 53 52 43 44 49 52 29 2f 2e 2e  \...$(SRCDIR)/..
2040: 2f 6d 61 6e 69 66 65 73 74 20 5c 0a 09 09 24 28  /manifest \...$(
2050: 53 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52 53 49  SRCDIR)/../VERSI
2060: 4f 4e 20 3e 24 28 4f 42 4a 44 49 52 29 2f 56 45  ON >$(OBJDIR)/VE
2070: 52 53 49 4f 4e 2e 68 0a 0a 24 28 4f 42 4a 44 49  RSION.h..$(OBJDI
2080: 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68  R)/default_css.h
2090: 3a 09 24 28 53 52 43 44 49 52 29 2f 64 65 66 61  :.$(SRCDIR)/defa
20a0: 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 28 4f 42  ult_css.txt $(OB
20b0: 4a 44 49 52 29 2f 6d 6b 63 73 73 0a 09 24 28 4f  JDIR)/mkcss..$(O
20c0: 42 4a 44 49 52 29 2f 6d 6b 63 73 73 20 24 28 53  BJDIR)/mkcss $(S
20d0: 52 43 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63  RCDIR)/default_c
20e0: 73 73 2e 74 78 74 20 24 28 4f 42 4a 44 49 52 29  ss.txt $(OBJDIR)
20f0: 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 0a 0a  /default_css.h..
2100: 23 20 53 65 74 75 70 20 74 68 65 20 6f 70 74 69  # Setup the opti
2110: 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70  ons used to comp
2120: 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64  ile the included
2130: 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e   SQLite library.
2140: 0a 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20  .SQLITE_OPTIONS 
2150: 3d 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49  = <<<SQLITE_OPTI
2160: 4f 4e 53 3e 3e 3e 0a 0a 23 20 53 65 74 75 70 20  ONS>>>..# Setup 
2170: 74 68 65 20 6f 70 74 69 6f 6e 73 20 75 73 65 64  the options used
2180: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20   to compile the 
2190: 69 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20  included SQLite 
21a0: 73 68 65 6c 6c 2e 0a 53 48 45 4c 4c 5f 4f 50 54  shell..SHELL_OPT
21b0: 49 4f 4e 53 20 3d 20 3c 3c 3c 53 48 45 4c 4c 5f  IONS = <<<SHELL_
21c0: 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 53 65  OPTIONS>>>..# Se
21d0: 74 75 70 20 74 68 65 20 6f 70 74 69 6f 6e 73 20  tup the options 
21e0: 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 20  used to compile 
21f0: 74 68 65 20 69 6e 63 6c 75 64 65 64 20 6d 69 6e  the included min
2200: 69 7a 20 6c 69 62 72 61 72 79 2e 0a 4d 49 4e 49  iz library..MINI
2210: 5a 5f 4f 50 54 49 4f 4e 53 20 3d 20 3c 3c 3c 4d  Z_OPTIONS = <<<M
2220: 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a  INIZ_OPTIONS>>>.
2230: 0a 23 20 54 68 65 20 55 53 45 5f 53 59 53 54 45  .# The USE_SYSTE
2240: 4d 5f 53 51 4c 49 54 45 20 76 61 72 69 61 62 6c  M_SQLITE variabl
2250: 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 69 6e  e may be undefin
2260: 65 64 2c 20 73 65 74 20 74 6f 20 30 2c 20 6f 72  ed, set to 0, or
2270: 20 73 65 74 0a 23 20 74 6f 20 31 2e 20 49 66 20   set.# to 1. If 
2280: 69 74 20 69 73 20 73 65 74 20 74 6f 20 31 2c 20  it is set to 1, 
2290: 74 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f  then there is no
22a0: 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 20 6f   need to build o
22b0: 72 20 6c 69 6e 6b 0a 23 20 74 68 65 20 73 71 6c  r link.# the sql
22c0: 69 74 65 33 2e 6f 20 6f 62 6a 65 63 74 2e 20 49  ite3.o object. I
22d0: 6e 73 74 65 61 64 2c 20 74 68 65 20 73 79 73 74  nstead, the syst
22e0: 65 6d 20 53 51 4c 69 74 65 20 77 69 6c 6c 20 62  em SQLite will b
22f0: 65 20 6c 69 6e 6b 65 64 0a 23 20 75 73 69 6e 67  e linked.# using
2300: 20 2d 6c 73 71 6c 69 74 65 33 2e 0a 53 51 4c 49   -lsqlite3..SQLI
2310: 54 45 33 5f 4f 42 4a 2e 30 20 3d 20 24 28 4f 42  TE3_OBJ.0 = $(OB
2320: 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 0a  JDIR)/sqlite3.o.
2330: 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 31 20 3d 0a  SQLITE3_OBJ.1 =.
2340: 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 20 20 3d 20  SQLITE3_OBJ.  = 
2350: 24 28 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 30 29  $(SQLITE3_OBJ.0)
2360: 0a 0a 23 20 54 68 65 20 46 4f 53 53 49 4c 5f 45  ..# The FOSSIL_E
2370: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 76 61 72 69  NABLE_MINIZ vari
2380: 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65  able may be unde
2390: 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 30 2c  fined, set to 0,
23a0: 20 6f 72 0a 23 20 73 65 74 20 74 6f 20 31 2e 20   or.# set to 1. 
23b0: 20 49 66 20 69 74 20 69 73 20 73 65 74 20 74 6f   If it is set to
23c0: 20 31 2c 20 74 68 65 20 6d 69 6e 69 7a 20 6c 69   1, the miniz li
23d0: 62 72 61 72 79 20 69 6e 63 6c 75 64 65 64 20 69  brary included i
23e0: 6e 20 74 68 65 0a 23 20 73 6f 75 72 63 65 20 74  n the.# source t
23f0: 72 65 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73  ree should be us
2400: 65 64 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69  ed; otherwise, i
2410: 74 20 73 68 6f 75 6c 64 20 6e 6f 74 2e 0a 4d 49  t should not..MI
2420: 4e 49 5a 5f 4f 42 4a 2e 30 20 3d 0a 4d 49 4e 49  NIZ_OBJ.0 =.MINI
2430: 5a 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 4a 44  Z_OBJ.1 = $(OBJD
2440: 49 52 29 2f 6d 69 6e 69 7a 2e 6f 0a 4d 49 4e 49  IR)/miniz.o.MINI
2450: 5a 5f 4f 42 4a 2e 20 20 3d 20 24 28 4d 49 4e 49  Z_OBJ.  = $(MINI
2460: 5a 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20  Z_OBJ.0)..# The 
2470: 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 20 76 61  USE_LINENOISE va
2480: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e  riable may be un
2490: 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20  defined, set to 
24a0: 30 2c 20 6f 72 20 73 65 74 0a 23 20 74 6f 20 31  0, or set.# to 1
24b0: 2e 20 49 66 20 69 74 20 69 73 20 73 65 74 20 74  . If it is set t
24c0: 6f 20 30 2c 20 74 68 65 6e 20 74 68 65 72 65 20  o 0, then there 
24d0: 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 62 75  is no need to bu
24e0: 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 68  ild or link.# th
24f0: 65 20 6c 69 6e 65 6e 6f 69 73 65 2e 6f 20 6f 62  e linenoise.o ob
2500: 6a 65 63 74 2e 0a 4c 49 4e 45 4e 4f 49 53 45 5f  ject..LINENOISE_
2510: 44 45 46 2e 30 20 3d 0a 4c 49 4e 45 4e 4f 49 53  DEF.0 =.LINENOIS
2520: 45 5f 44 45 46 2e 31 20 3d 20 2d 44 48 41 56 45  E_DEF.1 = -DHAVE
2530: 5f 4c 49 4e 45 4e 4f 49 53 45 0a 4c 49 4e 45 4e  _LINENOISE.LINEN
2540: 4f 49 53 45 5f 44 45 46 2e 20 20 3d 20 24 28 4c  OISE_DEF.  = $(L
2550: 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 30 29 0a  INENOISE_DEF.0).
2560: 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 30 20  LINENOISE_OBJ.0 
2570: 3d 0a 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e  =.LINENOISE_OBJ.
2580: 31 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6c 69  1 = $(OBJDIR)/li
2590: 6e 65 6e 6f 69 73 65 2e 6f 0a 4c 49 4e 45 4e 4f  nenoise.o.LINENO
25a0: 49 53 45 5f 4f 42 4a 2e 20 20 3d 20 24 28 4c 49  ISE_OBJ.  = $(LI
25b0: 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 30 29 0a 0a  NENOISE_OBJ.0)..
25c0: 23 20 54 68 65 20 55 53 45 5f 53 45 45 20 76 61  # The USE_SEE va
25d0: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e  riable may be un
25e0: 64 65 66 69 6e 65 64 2c 20 30 20 6f 72 20 31 2e  defined, 0 or 1.
25f0: 20 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 6f    If undefined o
2600: 72 0a 23 20 30 2c 20 6f 72 64 69 6e 61 72 79 20  r.# 0, ordinary 
2610: 53 51 4c 69 74 65 20 69 73 20 75 73 65 64 2e 20  SQLite is used. 
2620: 20 49 66 20 31 2c 20 74 68 65 6e 20 73 71 6c 69   If 1, then sqli
2630: 74 65 33 2d 73 65 65 2e 63 20 28 6e 6f 74 20 70  te3-see.c (not p
2640: 61 72 74 20 6f 66 0a 23 20 74 68 65 20 73 6f 75  art of.# the sou
2650: 72 63 65 20 74 72 65 65 29 20 69 73 20 75 73 65  rce tree) is use
2660: 64 20 61 6e 64 20 65 78 74 72 61 20 66 6c 61 67  d and extra flag
2670: 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 74  s are provided t
2680: 6f 20 65 6e 61 62 6c 65 0a 23 20 74 68 65 20 53  o enable.# the S
2690: 51 4c 69 74 65 20 45 6e 63 72 79 70 74 69 6f 6e  QLite Encryption
26a0: 20 45 78 74 65 6e 73 69 6f 6e 2e 0a 53 51 4c 49   Extension..SQLI
26b0: 54 45 33 5f 53 52 43 2e 30 20 3d 20 73 71 6c 69  TE3_SRC.0 = sqli
26c0: 74 65 33 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52  te3.c.SQLITE3_SR
26d0: 43 2e 31 20 3d 20 73 71 6c 69 74 65 33 2d 73 65  C.1 = sqlite3-se
26e0: 65 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e  e.c.SQLITE3_SRC.
26f0: 20 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c   = sqlite3.c.SQL
2700: 49 54 45 33 5f 53 52 43 20 3d 20 24 28 53 52 43  ITE3_SRC = $(SRC
2710: 44 49 52 29 2f 24 28 53 51 4c 49 54 45 33 5f 53  DIR)/$(SQLITE3_S
2720: 52 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a 53  RC.$(USE_SEE)).S
2730: 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43  QLITE3_SHELL_SRC
2740: 2e 30 20 3d 20 73 68 65 6c 6c 2e 63 0a 53 51 4c  .0 = shell.c.SQL
2750: 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 31  ITE3_SHELL_SRC.1
2760: 20 3d 20 73 68 65 6c 6c 2d 73 65 65 2e 63 0a 53   = shell-see.c.S
2770: 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43  QLITE3_SHELL_SRC
2780: 2e 20 3d 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49  . = shell.c.SQLI
2790: 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 20 3d 20  TE3_SHELL_SRC = 
27a0: 24 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c 49  $(SRCDIR)/$(SQLI
27b0: 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 24 28  TE3_SHELL_SRC.$(
27c0: 55 53 45 5f 53 45 45 29 29 0a 53 45 45 5f 46 4c  USE_SEE)).SEE_FL
27d0: 41 47 53 2e 30 20 3d 0a 53 45 45 5f 46 4c 41 47  AGS.0 =.SEE_FLAG
27e0: 53 2e 31 20 3d 20 2d 44 53 51 4c 49 54 45 5f 48  S.1 = -DSQLITE_H
27f0: 41 53 5f 43 4f 44 45 43 20 2d 44 53 51 4c 49 54  AS_CODEC -DSQLIT
2800: 45 5f 53 48 45 4c 4c 5f 44 42 4b 45 59 5f 50 52  E_SHELL_DBKEY_PR
2810: 4f 43 3d 66 6f 73 73 69 6c 5f 6b 65 79 0a 53 45  OC=fossil_key.SE
2820: 45 5f 46 4c 41 47 53 2e 20 3d 0a 53 45 45 5f 46  E_FLAGS. =.SEE_F
2830: 4c 41 47 53 20 3d 20 24 28 53 45 45 5f 46 4c 41  LAGS = $(SEE_FLA
2840: 47 53 2e 24 28 55 53 45 5f 53 45 45 29 29 0a 7d  GS.$(USE_SEE)).}
2850: 5d 0a 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69  ]..writeln [stri
2860: 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c 3c  ng map [list <<<
2870: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d  NEXT_LINE>>> \\]
2880: 20 7b 0a 45 58 54 52 41 4f 42 4a 20 3d 20 3c 3c   {.EXTRAOBJ = <<
2890: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
28a0: 28 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 24 28 55  (SQLITE3_OBJ.$(U
28b0: 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45  SE_SYSTEM_SQLITE
28c0: 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  )) <<<NEXT_LINE>
28d0: 3e 3e 0a 20 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e  >>. $(MINIZ_OBJ.
28e0: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
28f0: 4d 49 4e 49 5a 29 29 20 3c 3c 3c 4e 45 58 54 5f  MINIZ)) <<<NEXT_
2900: 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4c 49 4e 45 4e  LINE>>>. $(LINEN
2910: 4f 49 53 45 5f 4f 42 4a 2e 24 28 55 53 45 5f 4c  OISE_OBJ.$(USE_L
2920: 49 4e 45 4e 4f 49 53 45 29 29 20 3c 3c 3c 4e 45  INENOISE)) <<<NE
2930: 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42  XT_LINE>>>. $(OB
2940: 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 20 3c 3c  JDIR)/shell.o <<
2950: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
2960: 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 20 3c 3c  (OBJDIR)/th.o <<
2970: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
2980: 28 4f 42 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67  (OBJDIR)/th_lang
2990: 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .o <<<NEXT_LINE>
29a0: 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74 68  >>. $(OBJDIR)/th
29b0: 5f 74 63 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c  _tcl.o <<<NEXT_L
29c0: 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52  INE>>>. $(OBJDIR
29d0: 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74  )/cson_amalgamat
29e0: 69 6f 6e 2e 6f 0a 7d 5d 0a 0a 77 72 69 74 65 6c  ion.o.}]..writel
29f0: 6e 20 7b 0a 24 28 41 50 50 4e 41 4d 45 29 3a 09  n {.$(APPNAME):.
2a00: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header
2a10: 73 20 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65  s $(OBJDIR)/code
2a20: 63 68 65 63 6b 31 20 24 28 4f 42 4a 29 20 24 28  check1 $(OBJ) $(
2a30: 45 58 54 52 41 4f 42 4a 29 0a 09 24 28 4f 42 4a  EXTRAOBJ)..$(OBJ
2a40: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20  DIR)/codecheck1 
2a50: 24 28 54 52 41 4e 53 5f 53 52 43 29 0a 09 24 28  $(TRANS_SRC)..$(
2a60: 54 43 43 29 20 2d 6f 20 24 28 41 50 50 4e 41 4d  TCC) -o $(APPNAM
2a70: 45 29 20 24 28 4f 42 4a 29 20 24 28 45 58 54 52  E) $(OBJ) $(EXTR
2a80: 41 4f 42 4a 29 20 24 28 4c 49 42 29 0a 0a 23 20  AOBJ) $(LIB)..# 
2a90: 54 68 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e  This rule preven
2aa0: 74 73 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69  ts make from usi
2ab0: 6e 67 20 69 74 73 20 64 65 66 61 75 6c 74 20 72  ng its default r
2ac0: 75 6c 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c  ules to try buil
2ad0: 64 0a 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c  d.# an executabl
2ae0: 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73  e named "manifes
2af0: 74 22 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69  t" out of the fi
2b00: 6c 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65  le named "manife
2b10: 73 74 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52  st.c".#.$(SRCDIR
2b20: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 0a 09  )/../manifest:..
2b30: 23 20 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 0a 09  # noop..clean:..
2b40: 72 6d 20 2d 72 66 20 24 28 4f 42 4a 44 49 52 29  rm -rf $(OBJDIR)
2b50: 2f 2a 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 7d  /* $(APPNAME)..}
2b60: 0a 0a 73 65 74 20 6d 68 61 72 67 73 20 7b 7d 0a  ..set mhargs {}.
2b70: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
2b80: 20 24 73 72 63 5d 20 7b 0a 20 20 61 70 70 65 6e   $src] {.  appen
2b90: 64 20 6d 68 61 72 67 73 20 22 5c 24 28 4f 42 4a  d mhargs "\$(OBJ
2ba0: 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 24 28  DIR)/${s}_.c:\$(
2bb0: 4f 42 4a 44 49 52 29 2f 24 73 2e 68 20 3c 3c 3c  OBJDIR)/$s.h <<<
2bc0: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22 0a 20 20  NEXT_LINE>>>".  
2bd0: 73 65 74 20 65 78 74 72 61 5f 68 28 24 73 29 20  set extra_h($s) 
2be0: 7b 20 7d 0a 7d 0a 61 70 70 65 6e 64 20 6d 68 61  { }.}.append mha
2bf0: 72 67 73 20 22 5c 24 28 53 52 43 44 49 52 29 2f  rgs "\$(SRCDIR)/
2c00: 73 71 6c 69 74 65 33 2e 68 20 3c 3c 3c 4e 45 58  sqlite3.h <<<NEX
2c10: 54 5f 4c 49 4e 45 3e 3e 3e 22 0a 61 70 70 65 6e  T_LINE>>>".appen
2c20: 64 20 6d 68 61 72 67 73 20 22 5c 24 28 53 52 43  d mhargs "\$(SRC
2c30: 44 49 52 29 2f 74 68 2e 68 20 3c 3c 3c 4e 45 58  DIR)/th.h <<<NEX
2c40: 54 5f 4c 49 4e 45 3e 3e 3e 22 0a 23 61 70 70 65  T_LINE>>>".#appe
2c50: 6e 64 20 6d 68 61 72 67 73 20 22 5c 24 28 53 52  nd mhargs "\$(SR
2c60: 43 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67  CDIR)/cson_amalg
2c70: 61 6d 61 74 69 6f 6e 2e 68 20 3c 3c 3c 4e 45 58  amation.h <<<NEX
2c80: 54 5f 4c 49 4e 45 3e 3e 3e 22 0a 61 70 70 65 6e  T_LINE>>>".appen
2c90: 64 20 6d 68 61 72 67 73 20 22 5c 24 28 4f 42 4a  d mhargs "\$(OBJ
2ca0: 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 20 22  DIR)/VERSION.h "
2cb0: 0a 73 65 74 20 6d 68 61 72 67 73 20 5b 73 74 72  .set mhargs [str
2cc0: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c  ing map [list <<
2cd0: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c  <NEXT_LINE>>> \\
2ce0: 5c 6e 5c 74 5d 20 24 6d 68 61 72 67 73 5d 0a 77  \n\t] $mhargs].w
2cf0: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
2d00: 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a  R)/page_index.h:
2d10: 20 5c 24 28 54 52 41 4e 53 5f 53 52 43 29 20 5c   \$(TRANS_SRC) \
2d20: 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65  $(OBJDIR)/mkinde
2d30: 78 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  x".writeln "\t\$
2d40: 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78  (OBJDIR)/mkindex
2d50: 20 5c 24 28 54 52 41 4e 53 5f 53 52 43 29 20 3e   \$(TRANS_SRC) >
2d60: 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20  \$@\n"..writeln 
2d70: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 62 75 69 6c  "\$(OBJDIR)/buil
2d80: 74 69 6e 5f 64 61 74 61 2e 68 3a 20 5c 24 28 4f  tin_data.h: \$(O
2d90: 42 4a 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e  BJDIR)/mkbuiltin
2da0: 20 5c 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29   \$(EXTRA_FILES)
2db0: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28  ".writeln "\t\$(
2dc0: 4f 42 4a 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69  OBJDIR)/mkbuilti
2dd0: 6e 20 2d 2d 70 72 65 66 69 78 20 5c 24 28 53 52  n --prefix \$(SR
2de0: 43 44 49 52 29 2f 20 5c 24 28 45 58 54 52 41 5f  CDIR)/ \$(EXTRA_
2df0: 46 49 4c 45 53 29 20 3e 5c 24 40 5c 6e 22 0a 0a  FILES) >\$@\n"..
2e00: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44  writeln "\$(OBJD
2e10: 49 52 29 2f 68 65 61 64 65 72 73 3a 5c 74 5c 24  IR)/headers:\t\$
2e20: 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e  (OBJDIR)/page_in
2e30: 64 65 78 2e 68 20 5c 24 28 4f 42 4a 44 49 52 29  dex.h \$(OBJDIR)
2e40: 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20  /builtin_data.h 
2e50: 5c 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75  \$(OBJDIR)/defau
2e60: 6c 74 5f 63 73 73 2e 68 20 5c 24 28 4f 42 4a 44  lt_css.h \$(OBJD
2e70: 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20  IR)/makeheaders 
2e80: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  \$(OBJDIR)/VERSI
2e90: 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c  ON.h".writeln "\
2ea0: 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65  t\$(OBJDIR)/make
2eb0: 68 65 61 64 65 72 73 20 24 6d 68 61 72 67 73 22  headers $mhargs"
2ec0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 74 6f 75 63  .writeln "\ttouc
2ed0: 68 20 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61  h \$(OBJDIR)/hea
2ee0: 64 65 72 73 22 0a 77 72 69 74 65 6c 6e 20 22 5c  ders".writeln "\
2ef0: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header
2f00: 73 3a 20 4d 61 6b 65 66 69 6c 65 22 0a 77 72 69  s: Makefile".wri
2f10: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
2f20: 2f 6a 73 6f 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49  /json.o \$(OBJDI
2f30: 52 29 2f 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  R)/json_artifact
2f40: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
2f50: 6f 6e 5f 62 72 61 6e 63 68 2e 6f 20 5c 24 28 4f  on_branch.o \$(O
2f60: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 63 6f 6e 66  BJDIR)/json_conf
2f70: 69 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ig.o \$(OBJDIR)/
2f80: 6a 73 6f 6e 5f 64 69 66 66 2e 6f 20 5c 24 28 4f  json_diff.o \$(O
2f90: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 72 2e  BJDIR)/json_dir.
2fa0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
2fb0: 6e 5f 66 69 6e 66 6f 2e 6f 20 5c 24 28 4f 42 4a  n_finfo.o \$(OBJ
2fc0: 44 49 52 29 2f 6a 73 6f 6e 5f 6c 6f 67 69 6e 2e  DIR)/json_login.
2fd0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
2fe0: 6e 5f 71 75 65 72 79 2e 6f 20 5c 24 28 4f 42 4a  n_query.o \$(OBJ
2ff0: 44 49 52 29 2f 6a 73 6f 6e 5f 72 65 70 6f 72 74  DIR)/json_report
3000: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
3010: 6f 6e 5f 73 74 61 74 75 73 2e 6f 20 5c 24 28 4f  on_status.o \$(O
3020: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 74 61 67 2e  BJDIR)/json_tag.
3030: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
3040: 6e 5f 74 69 6d 65 6c 69 6e 65 2e 6f 20 5c 24 28  n_timeline.o \$(
3050: 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 75 73 65  OBJDIR)/json_use
3060: 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a  r.o \$(OBJDIR)/j
3070: 73 6f 6e 5f 77 69 6b 69 2e 6f 20 3a 20 5c 24 28  son_wiki.o : \$(
3080: 53 52 43 44 49 52 29 2f 6a 73 6f 6e 5f 64 65 74  SRCDIR)/json_det
3090: 61 69 6c 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22  ail.h".writeln "
30a0: 4d 61 6b 65 66 69 6c 65 3a 22 0a 73 65 74 20 65  Makefile:".set e
30b0: 78 74 72 61 5f 68 28 64 69 73 70 61 74 63 68 29  xtra_h(dispatch)
30c0: 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 70 61   " \$(OBJDIR)/pa
30d0: 67 65 5f 69 6e 64 65 78 2e 68 20 22 0a 73 65 74  ge_index.h ".set
30e0: 20 65 78 74 72 61 5f 68 28 62 75 69 6c 74 69 6e   extra_h(builtin
30f0: 29 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 62  ) " \$(OBJDIR)/b
3100: 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 22 0a  uiltin_data.h ".
3110: 73 65 74 20 65 78 74 72 61 5f 68 28 73 74 79 6c  set extra_h(styl
3120: 65 29 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f  e) " \$(OBJDIR)/
3130: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 22 0a  default_css.h ".
3140: 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72  .foreach s [lsor
3150: 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74  t $src] {.  writ
3160: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
3170: 24 7b 73 7d 5f 2e 63 3a 5c 74 5c 24 28 53 52 43  ${s}_.c:\t\$(SRC
3180: 44 49 52 29 2f 24 73 2e 63 20 5c 24 28 4f 42 4a  DIR)/$s.c \$(OBJ
3190: 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 22 0a  DIR)/translate".
31a0: 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28    writeln "\t\$(
31b0: 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74  OBJDIR)/translat
31c0: 65 20 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e  e \$(SRCDIR)/$s.
31d0: 63 20 3e 5c 24 40 5c 6e 22 0a 20 20 77 72 69 74  c >\$@\n".  writ
31e0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
31f0: 24 73 2e 6f 3a 5c 74 5c 24 28 4f 42 4a 44 49 52  $s.o:\t\$(OBJDIR
3200: 29 2f 24 7b 73 7d 5f 2e 63 20 5c 24 28 4f 42 4a  )/${s}_.c \$(OBJ
3210: 44 49 52 29 2f 24 73 2e 68 24 65 78 74 72 61 5f  DIR)/$s.h$extra_
3220: 68 28 24 73 29 5c 24 28 53 52 43 44 49 52 29 2f  h($s)\$(SRCDIR)/
3230: 63 6f 6e 66 69 67 2e 68 22 0a 20 20 77 72 69 74  config.h".  writ
3240: 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20  eln "\t\$(XTCC) 
3250: 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  -o \$(OBJDIR)/$s
3260: 2e 6f 20 2d 63 20 5c 24 28 4f 42 4a 44 49 52 29  .o -c \$(OBJDIR)
3270: 2f 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72  /${s}_.c\n".  wr
3280: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
3290: 29 2f 24 73 2e 68 3a 5c 74 5c 24 28 4f 42 4a 44  )/$s.h:\t\$(OBJD
32a0: 49 52 29 2f 68 65 61 64 65 72 73 5c 6e 22 0a 7d  IR)/headers\n".}
32b0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  ..writeln "\$(OB
32c0: 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 3a  JDIR)/sqlite3.o:
32d0: 5c 74 5c 24 28 53 51 4c 49 54 45 33 5f 53 52 43  \t\$(SQLITE3_SRC
32e0: 29 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  )".writeln "\t\$
32f0: 28 58 54 43 43 29 20 5c 24 28 53 51 4c 49 54 45  (XTCC) \$(SQLITE
3300: 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 53 51 4c  _OPTIONS) \$(SQL
3310: 49 54 45 5f 43 46 4c 41 47 53 29 20 5c 24 28 53  ITE_CFLAGS) \$(S
3320: 45 45 5f 46 4c 41 47 53 29 20 5c 5c 22 0a 77 72  EE_FLAGS) \\".wr
3330: 69 74 65 6c 6e 20 22 5c 74 5c 74 2d 63 20 5c 24  iteln "\t\t-c \$
3340: 28 53 51 4c 49 54 45 33 5f 53 52 43 29 20 2d 6f  (SQLITE3_SRC) -o
3350: 20 5c 24 40 22 0a 0a 77 72 69 74 65 6c 6e 20 22   \$@"..writeln "
3360: 5c 24 28 4f 42 4a 44 49 52 29 2f 73 68 65 6c 6c  \$(OBJDIR)/shell
3370: 2e 6f 3a 5c 74 5c 24 28 53 51 4c 49 54 45 33 5f  .o:\t\$(SQLITE3_
3380: 53 48 45 4c 4c 5f 53 52 43 29 20 5c 24 28 53 52  SHELL_SRC) \$(SR
3390: 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 68 22  CDIR)/sqlite3.h"
33a0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58  .writeln "\t\$(X
33b0: 54 43 43 29 20 5c 24 28 53 48 45 4c 4c 5f 4f 50  TCC) \$(SHELL_OP
33c0: 54 49 4f 4e 53 29 20 5c 24 28 53 48 45 4c 4c 5f  TIONS) \$(SHELL_
33d0: 43 46 4c 41 47 53 29 20 5c 24 28 53 45 45 5f 46  CFLAGS) \$(SEE_F
33e0: 4c 41 47 53 29 20 5c 24 28 4c 49 4e 45 4e 4f 49  LAGS) \$(LINENOI
33f0: 53 45 5f 44 45 46 2e 5c 24 28 55 53 45 5f 4c 49  SE_DEF.\$(USE_LI
3400: 4e 45 4e 4f 49 53 45 29 29 20 2d 63 20 5c 24 28  NENOISE)) -c \$(
3410: 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52  SQLITE3_SHELL_SR
3420: 43 29 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72  C) -o \$@\n"..wr
3430: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
3440: 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 6f 3a 5c 74  )/linenoise.o:\t
3450: 5c 24 28 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e  \$(SRCDIR)/linen
3460: 6f 69 73 65 2e 63 20 5c 24 28 53 52 43 44 49 52  oise.c \$(SRCDIR
3470: 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 68 22 0a 77  )/linenoise.h".w
3480: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43  riteln "\t\$(XTC
3490: 43 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29  C) -c \$(SRCDIR)
34a0: 2f 6c 69 6e 65 6e 6f 69 73 65 2e 63 20 2d 6f 20  /linenoise.c -o 
34b0: 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20  \$@\n"..writeln 
34c0: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f  "\$(OBJDIR)/th.o
34d0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68  :\t\$(SRCDIR)/th
34e0: 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c  .c".writeln "\t\
34f0: 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52  $(XTCC) -c \$(SR
3500: 43 44 49 52 29 2f 74 68 2e 63 20 2d 6f 20 5c 24  CDIR)/th.c -o \$
3510: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c  @\n"..writeln "\
3520: 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f 6c 61 6e  $(OBJDIR)/th_lan
3530: 67 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29  g.o:\t\$(SRCDIR)
3540: 2f 74 68 5f 6c 61 6e 67 2e 63 22 0a 77 72 69 74  /th_lang.c".writ
3550: 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20  eln "\t\$(XTCC) 
3560: 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68  -c \$(SRCDIR)/th
3570: 5f 6c 61 6e 67 2e 63 20 2d 6f 20 5c 24 40 5c 6e  _lang.c -o \$@\n
3580: 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  "..writeln "\$(O
3590: 42 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 3a  BJDIR)/th_tcl.o:
35a0: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f  \t\$(SRCDIR)/th_
35b0: 74 63 6c 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22  tcl.c".writeln "
35c0: 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24  \t\$(XTCC) -c \$
35d0: 28 53 52 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e  (SRCDIR)/th_tcl.
35e0: 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69  c -o \$@\n"..wri
35f0: 74 65 6c 6e 20 7b 0a 24 28 4f 42 4a 44 49 52 29  teln {.$(OBJDIR)
3600: 2f 6d 69 6e 69 7a 2e 6f 3a 09 24 28 53 52 43 44  /miniz.o:.$(SRCD
3610: 49 52 29 2f 6d 69 6e 69 7a 2e 63 0a 09 24 28 58  IR)/miniz.c..$(X
3620: 54 43 43 29 20 24 28 4d 49 4e 49 5a 5f 4f 50 54  TCC) $(MINIZ_OPT
3630: 49 4f 4e 53 29 20 2d 63 20 24 28 53 52 43 44 49  IONS) -c $(SRCDI
3640: 52 29 2f 6d 69 6e 69 7a 2e 63 20 2d 6f 20 24 40  R)/miniz.c -o $@
3650: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f 6e  ..$(OBJDIR)/cson
3660: 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f 3a  _amalgamation.o:
3670: 20 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f   $(SRCDIR)/cson_
3680: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 63 0a 09  amalgamation.c..
3690: 24 28 58 54 43 43 29 20 2d 63 20 24 28 53 52 43  $(XTCC) -c $(SRC
36a0: 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61  DIR)/cson_amalga
36b0: 6d 61 74 69 6f 6e 2e 63 20 2d 6f 20 24 40 0a 0a  mation.c -o $@..
36c0: 23 0a 23 20 54 68 65 20 6c 69 73 74 20 6f 66 20  #.# The list of 
36d0: 61 6c 6c 20 74 68 65 20 74 61 72 67 65 74 73 20  all the targets 
36e0: 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 6f 72 72  that do not corr
36f0: 65 73 70 6f 6e 64 20 74 6f 20 72 65 61 6c 20 66  espond to real f
3700: 69 6c 65 73 2e 20 54 68 69 73 20 73 74 6f 70 73  iles. This stops
3710: 0a 23 20 27 6d 61 6b 65 27 20 66 72 6f 6d 20 67  .# 'make' from g
3720: 65 74 74 69 6e 67 20 63 6f 6e 66 75 73 65 64 20  etting confused 
3730: 77 68 65 6e 20 73 6f 6d 65 6f 6e 65 20 6d 61 6b  when someone mak
3740: 65 73 20 61 6e 20 65 72 72 6f 72 20 69 6e 20 61  es an error in a
3750: 20 72 75 6c 65 2e 0a 23 0a 0a 2e 50 48 4f 4e 59   rule..#...PHONY
3760: 3a 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 20 74 65  : all install te
3770: 73 74 20 63 6c 65 61 6e 0a 7d 0a 0a 63 6c 6f 73  st clean.}..clos
3780: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23  e $output_file.#
3790: 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20 6d 61  .# End of the ma
37a0: 69 6e 2e 6d 6b 20 6f 75 74 70 75 74 0a 23 23 23  in.mk output.###
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: 23 23 23 23 23 23 23 23 23 23 23 0a 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 23  ################
3840: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23  ##########.#####
3850: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3860: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3870: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3880: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3890: 23 23 23 23 23 23 23 23 23 0a 23 20 42 65 67 69  #########.# Begi
38a0: 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d  n win/Makefile.m
38b0: 69 6e 67 77 20 6f 75 74 70 75 74 0a 23 0a 70 75  ingw output.#.pu
38c0: 74 73 20 22 62 75 69 6c 64 69 6e 67 20 2e 2e 2f  ts "building ../
38d0: 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e  win/Makefile.min
38e0: 67 77 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66  gw".set output_f
38f0: 69 6c 65 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e  ile [open ../win
3900: 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e 67 77 20  /Makefile.mingw 
3910: 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 6f  w].fconfigure $o
3920: 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61 6e  utput_file -tran
3930: 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a 0a  slation binary..
3940: 77 72 69 74 65 6c 6e 20 7b 23 21 2f 75 73 72 2f  writeln {#!/usr/
3950: 62 69 6e 2f 6d 61 6b 65 0a 23 0a 23 23 23 23 23  bin/make.#.#####
3960: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3970: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3980: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3990: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39a0: 23 23 23 23 23 23 23 23 23 0a 23 20 57 41 52 4e  #########.# WARN
39b0: 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 44 49 54  ING: DO NOT EDIT
39c0: 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c 4c 59 20  , AUTOMATICALLY 
39d0: 47 45 4e 45 52 41 54 45 44 20 46 49 4c 45 20 28  GENERATED FILE (
39e0: 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 6d 61 6b  SEE "src/makemak
39f0: 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 23 23 23  e.tcl").########
3a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3a30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3a40: 23 23 23 23 23 23 0a 23 0a 23 20 54 68 69 73 20  ######.#.# This 
3a50: 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69  file is automati
3a60: 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e  cally generated.
3a70: 20 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64 69    Instead of edi
3a80: 74 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c 65  ting this.# file
3a90: 2c 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65  , edit "makemake
3aa0: 2e 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 22  .tcl" then run "
3ab0: 74 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74  tclsh makemake.t
3ac0: 63 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 72  cl".# to regener
3ad0: 61 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23  ate this file..#
3ae0: 0a 23 20 54 68 69 73 20 69 73 20 61 20 6d 61 6b  .# This is a mak
3af0: 65 66 69 6c 65 20 66 6f 72 20 75 73 65 20 6f 6e  efile for use on
3b00: 20 43 79 67 77 69 6e 2f 44 61 72 77 69 6e 2f 46   Cygwin/Darwin/F
3b10: 72 65 65 42 53 44 2f 4c 69 6e 75 78 2f 57 69 6e  reeBSD/Linux/Win
3b20: 64 6f 77 73 20 75 73 69 6e 67 0a 23 20 4d 69 6e  dows using.# Min
3b30: 47 57 20 6f 72 20 4d 69 6e 47 57 2d 77 36 34 2e  GW or MinGW-w64.
3b40: 0a 23 0a 23 20 53 6f 6d 65 20 6f 66 20 74 68 65  .#.# Some of the
3b50: 20 73 70 65 63 69 61 6c 20 6f 70 74 69 6f 6e 73   special options
3b60: 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 70 61   which can be pa
3b70: 73 73 65 64 20 74 6f 20 6d 61 6b 65 0a 23 20 20  ssed to make.#  
3b80: 20 55 53 45 5f 57 49 4e 44 4f 57 53 3d 31 20 20   USE_WINDOWS=1  
3b90: 20 20 69 66 20 62 75 69 6c 64 69 6e 67 20 75 6e    if building un
3ba0: 64 65 72 20 61 20 77 69 6e 64 6f 77 73 20 63 6f  der a windows co
3bb0: 6d 6d 61 6e 64 20 70 72 6f 6d 70 74 0a 23 20 20  mmand prompt.#  
3bc0: 20 58 36 34 3d 31 20 20 20 20 20 20 20 20 20 20   X64=1          
3bd0: 20 20 69 66 20 75 73 69 6e 67 20 61 6e 20 75 6e    if using an un
3be0: 70 72 65 66 69 78 65 64 20 36 34 2d 62 69 74 20  prefixed 64-bit 
3bf0: 6d 69 6e 67 77 20 63 6f 6d 70 69 6c 65 72 0a 23  mingw compiler.#
3c00: 0a 0a 23 23 23 23 20 53 65 6c 65 63 74 20 6f 6e  ..#### Select on
3c10: 65 20 6f 66 20 4d 69 6e 47 57 2c 20 4d 69 6e 47  e of MinGW, MinG
3c20: 57 2d 77 36 34 20 28 33 32 2d 62 69 74 29 20 6f  W-w64 (32-bit) o
3c30: 72 20 4d 69 6e 47 57 2d 77 36 34 20 28 36 34 2d  r MinGW-w64 (64-
3c40: 62 69 74 29 20 63 6f 6d 70 69 6c 65 72 73 2e 0a  bit) compilers..
3c50: 23 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c  #    By default,
3c60: 20 74 68 69 73 20 69 73 20 61 6e 20 65 6d 70 74   this is an empt
3c70: 79 20 73 74 72 69 6e 67 20 28 69 2e 65 2e 20 75  y string (i.e. u
3c80: 73 65 20 74 68 65 20 6e 61 74 69 76 65 20 63 6f  se the native co
3c90: 6d 70 69 6c 65 72 29 2e 0a 23 0a 50 52 45 46 49  mpiler)..#.PREFI
3ca0: 58 20 3d 0a 23 20 50 52 45 46 49 58 20 3d 20 6d  X =.# PREFIX = m
3cb0: 69 6e 67 77 33 32 2d 0a 23 20 50 52 45 46 49 58  ingw32-.# PREFIX
3cc0: 20 3d 20 69 36 38 36 2d 70 63 2d 6d 69 6e 67 77   = i686-pc-mingw
3cd0: 33 32 2d 0a 23 20 50 52 45 46 49 58 20 3d 20 69  32-.# PREFIX = i
3ce0: 36 38 36 2d 77 36 34 2d 6d 69 6e 67 77 33 32 2d  686-w64-mingw32-
3cf0: 0a 23 20 50 52 45 46 49 58 20 3d 20 78 38 36 5f  .# PREFIX = x86_
3d00: 36 34 2d 77 36 34 2d 6d 69 6e 67 77 33 32 2d 0a  64-w64-mingw32-.
3d10: 0a 23 23 23 23 20 54 68 65 20 74 6f 70 6c 65 76  .#### The toplev
3d20: 65 6c 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20  el directory of 
3d30: 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 2e  the source tree.
3d40: 20 20 46 6f 73 73 69 6c 20 63 61 6e 20 62 65 20    Fossil can be 
3d50: 62 75 69 6c 74 0a 23 20 20 20 20 69 6e 20 61 20  built.#    in a 
3d60: 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 69  directory that i
3d70: 73 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d 20  s separate from 
3d80: 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 2e  the source tree.
3d90: 20 20 4a 75 73 74 20 63 68 61 6e 67 65 0a 23 20    Just change.# 
3da0: 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67     the following
3db0: 20 74 6f 20 70 6f 69 6e 74 20 66 72 6f 6d 20 74   to point from t
3dc0: 68 65 20 62 75 69 6c 64 20 64 69 72 65 63 74 6f  he build directo
3dd0: 72 79 20 74 6f 20 74 68 65 20 73 72 63 2f 20 66  ry to the src/ f
3de0: 6f 6c 64 65 72 2e 0a 23 0a 53 52 43 44 49 52 20  older..#.SRCDIR 
3df0: 3d 20 73 72 63 0a 0a 23 23 23 23 20 54 68 65 20  = src..#### The 
3e00: 64 69 72 65 63 74 6f 72 79 20 69 6e 74 6f 20 77  directory into w
3e10: 68 69 63 68 20 6f 62 6a 65 63 74 20 63 6f 64 65  hich object code
3e20: 20 66 69 6c 65 73 20 73 68 6f 75 6c 64 20 62 65   files should be
3e30: 20 77 72 69 74 74 65 6e 2e 0a 23 0a 4f 42 4a 44   written..#.OBJD
3e40: 49 52 20 3d 20 77 62 6c 64 0a 0a 23 23 23 23 20  IR = wbld..#### 
3e50: 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 75  C compiler for u
3e60: 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65  se in building e
3e70: 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74 20  xecutables that 
3e80: 77 69 6c 6c 20 72 75 6e 20 6f 6e 0a 23 20 20 20  will run on.#   
3e90: 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68   the platform th
3ea0: 61 74 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20  at is doing the 
3eb0: 62 75 69 6c 64 2e 20 20 54 68 69 73 20 69 73 20  build.  This is 
3ec0: 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 0a  used to compile.
3ed0: 23 20 20 20 20 63 6f 64 65 2d 67 65 6e 65 72 61  #    code-genera
3ee0: 74 6f 72 20 70 72 6f 67 72 61 6d 73 20 61 73 20  tor programs as 
3ef0: 70 61 72 74 20 6f 66 20 74 68 65 20 62 75 69 6c  part of the buil
3f00: 64 20 70 72 6f 63 65 73 73 2e 20 20 53 65 65 20  d process.  See 
3f10: 54 43 43 0a 23 20 20 20 20 61 6e 64 20 54 43 43  TCC.#    and TCC
3f20: 45 58 45 20 62 65 6c 6f 77 20 66 6f 72 20 74 68  EXE below for th
3f30: 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72  e C compiler for
3f40: 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 66 69   building the fi
3f50: 6e 69 73 68 65 64 0a 23 20 20 20 20 62 69 6e 61  nished.#    bina
3f60: 72 79 2e 0a 23 0a 42 43 43 45 58 45 20 3d 20 67  ry..#.BCCEXE = g
3f70: 63 63 0a 0a 23 23 23 23 20 43 20 43 6f 6d 70 69  cc..#### C Compi
3f80: 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ler and options 
3f90: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
3fa0: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables 
3fb0: 74 68 61 74 0a 23 20 20 20 20 77 69 6c 6c 20 72  that.#    will r
3fc0: 75 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f  un on the platfo
3fd0: 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67  rm that is doing
3fe0: 20 74 68 65 20 62 75 69 6c 64 2e 20 20 54 68 69   the build.  Thi
3ff0: 73 20 69 73 20 75 73 65 64 0a 23 20 20 20 20 74  s is used.#    t
4000: 6f 20 63 6f 6d 70 69 6c 65 20 63 6f 64 65 2d 67  o compile code-g
4010: 65 6e 65 72 61 74 6f 72 20 70 72 6f 67 72 61 6d  enerator program
4020: 73 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65  s as part of the
4030: 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2e 0a   build process..
4040: 23 20 20 20 20 53 65 65 20 54 43 43 20 62 65 6c  #    See TCC bel
4050: 6f 77 20 66 6f 72 20 74 68 65 20 43 20 63 6f 6d  ow for the C com
4060: 70 69 6c 65 72 20 66 6f 72 20 62 75 69 6c 64 69  piler for buildi
4070: 6e 67 20 74 68 65 20 66 69 6e 69 73 68 65 64 20  ng the finished 
4080: 62 69 6e 61 72 79 2e 0a 23 0a 42 43 43 20 3d 20  binary..#.BCC = 
4090: 24 28 42 43 43 45 58 45 29 0a 0a 23 23 23 23 20  $(BCCEXE)..#### 
40a0: 45 6e 61 62 6c 65 20 63 6f 6d 70 69 6c 69 6e 67  Enable compiling
40b0: 20 77 69 74 68 20 64 65 62 75 67 20 73 79 6d 62   with debug symb
40c0: 6f 6c 73 20 28 6d 75 63 68 20 6c 61 72 67 65 72  ols (much larger
40d0: 20 62 69 6e 61 72 79 29 0a 23 0a 23 20 46 4f 53   binary).#.# FOS
40e0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 59 4d 42 4f  SIL_ENABLE_SYMBO
40f0: 4c 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61  LS = 1..#### Ena
4100: 62 6c 65 20 4a 53 4f 4e 20 28 68 74 74 70 3a 2f  ble JSON (http:/
4110: 2f 77 77 77 2e 6a 73 6f 6e 2e 6f 72 67 29 20 73  /www.json.org) s
4120: 75 70 70 6f 72 74 20 75 73 69 6e 67 20 22 63 73  upport using "cs
4130: 6f 6e 22 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45  on".#.# FOSSIL_E
4140: 4e 41 42 4c 45 5f 4a 53 4f 4e 20 3d 20 31 0a 0a  NABLE_JSON = 1..
4150: 23 23 23 23 20 45 6e 61 62 6c 65 20 48 54 54 50  #### Enable HTTP
4160: 53 20 73 75 70 70 6f 72 74 20 76 69 61 20 4f 70  S support via Op
4170: 65 6e 53 53 4c 20 28 6c 69 6e 6b 73 20 74 6f 20  enSSL (links to 
4180: 6c 69 62 73 73 6c 20 61 6e 64 20 6c 69 62 63 72  libssl and libcr
4190: 79 70 74 6f 29 0a 23 0a 23 20 46 4f 53 53 49 4c  ypto).#.# FOSSIL
41a0: 5f 45 4e 41 42 4c 45 5f 53 53 4c 20 3d 20 31 0a  _ENABLE_SSL = 1.
41b0: 0a 23 23 23 23 20 41 75 74 6f 6d 61 74 69 63 61  .#### Automatica
41c0: 6c 6c 79 20 62 75 69 6c 64 20 4f 70 65 6e 53 53  lly build OpenSS
41d0: 4c 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67 20  L when building 
41e0: 46 6f 73 73 69 6c 20 28 63 61 75 73 65 73 20 72  Fossil (causes r
41f0: 65 62 75 69 6c 64 0a 23 20 20 20 20 69 73 73 75  ebuild.#    issu
4200: 65 73 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67  es when building
4210: 20 69 6e 63 72 65 6d 65 6e 74 61 6c 6c 79 29 2e   incrementally).
4220: 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 42 55 49 4c  .#.# FOSSIL_BUIL
4230: 44 5f 53 53 4c 20 3d 20 31 0a 0a 23 23 23 23 20  D_SSL = 1..#### 
4240: 45 6e 61 62 6c 65 20 72 65 6c 61 74 69 76 65 20  Enable relative 
4250: 70 61 74 68 73 20 69 6e 20 65 78 74 65 72 6e 61  paths in externa
4260: 6c 20 64 69 66 66 2f 67 64 69 66 66 0a 23 0a 23  l diff/gdiff.#.#
4270: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45   FOSSIL_ENABLE_E
4280: 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 20 3d 20  XEC_REL_PATHS = 
4290: 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 6c  1..#### Enable l
42a0: 65 67 61 63 79 20 74 72 65 61 74 6d 65 6e 74 20  egacy treatment 
42b0: 6f 66 20 6d 76 2f 72 6d 20 28 73 6b 69 70 20 63  of mv/rm (skip c
42c0: 68 65 63 6b 6f 75 74 20 66 69 6c 65 73 29 0a 23  heckout files).#
42d0: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  .# FOSSIL_ENABLE
42e0: 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 20 3d 20  _LEGACY_MV_RM = 
42f0: 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 54  1..#### Enable T
4300: 48 31 20 73 63 72 69 70 74 73 20 69 6e 20 65 6d  H1 scripts in em
4310: 62 65 64 64 65 64 20 64 6f 63 75 6d 65 6e 74 61  bedded documenta
4320: 74 69 6f 6e 20 66 69 6c 65 73 0a 23 0a 23 20 46  tion files.#.# F
4330: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31  OSSIL_ENABLE_TH1
4340: 5f 44 4f 43 53 20 3d 20 31 0a 0a 23 23 23 23 20  _DOCS = 1..#### 
4350: 45 6e 61 62 6c 65 20 68 6f 6f 6b 73 20 66 6f 72  Enable hooks for
4360: 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 77 65   commands and we
4370: 62 20 70 61 67 65 73 20 76 69 61 20 54 48 31 0a  b pages via TH1.
4380: 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  #.# FOSSIL_ENABL
4390: 45 5f 54 48 31 5f 48 4f 4f 4b 53 20 3d 20 31 0a  E_TH1_HOOKS = 1.
43a0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 73 63 72  .#### Enable scr
43b0: 69 70 74 69 6e 67 20 73 75 70 70 6f 72 74 20 76  ipting support v
43c0: 69 61 20 54 63 6c 2f 54 6b 0a 23 0a 23 20 46 4f  ia Tcl/Tk.#.# FO
43d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 20  SSIL_ENABLE_TCL 
43e0: 3d 20 31 0a 0a 23 23 23 23 20 4c 6f 61 64 20 54  = 1..#### Load T
43f0: 63 6c 20 75 73 69 6e 67 20 74 68 65 20 73 74 75  cl using the stu
4400: 62 73 20 6c 69 62 72 61 72 79 20 6d 65 63 68 61  bs library mecha
4410: 6e 69 73 6d 0a 23 0a 23 20 46 4f 53 53 49 4c 5f  nism.#.# FOSSIL_
4420: 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53  ENABLE_TCL_STUBS
4430: 20 3d 20 31 0a 0a 23 23 23 23 20 4c 6f 61 64 20   = 1..#### Load 
4440: 54 63 6c 20 75 73 69 6e 67 20 74 68 65 20 70 72  Tcl using the pr
4450: 69 76 61 74 65 20 73 74 75 62 73 20 6d 65 63 68  ivate stubs mech
4460: 61 6e 69 73 6d 0a 23 0a 23 20 46 4f 53 53 49 4c  anism.#.# FOSSIL
4470: 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56  _ENABLE_TCL_PRIV
4480: 41 54 45 5f 53 54 55 42 53 20 3d 20 31 0a 0a 23  ATE_STUBS = 1..#
4490: 23 23 23 20 55 73 65 20 27 73 79 73 74 65 6d 27  ### Use 'system'
44a0: 20 53 51 4c 69 74 65 0a 23 0a 23 20 55 53 45 5f   SQLite.#.# USE_
44b0: 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 3d 20  SYSTEM_SQLITE = 
44c0: 31 0a 0a 23 23 23 23 20 55 73 65 20 74 68 65 20  1..#### Use the 
44d0: 53 51 4c 69 74 65 20 45 6e 63 72 79 70 74 69 6f  SQLite Encryptio
44e0: 6e 20 45 78 74 65 6e 73 69 6f 6e 0a 23 0a 23 20  n Extension.#.# 
44f0: 55 53 45 5f 53 45 45 20 3d 20 31 0a 0a 23 23 23  USE_SEE = 1..###
4500: 23 20 55 73 65 20 74 68 65 20 6d 69 6e 69 7a 20  # Use the miniz 
4510: 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 69 62 72  compression libr
4520: 61 72 79 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45  ary.#.# FOSSIL_E
4530: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 3d 20 31 0a  NABLE_MINIZ = 1.
4540: 0a 23 23 23 23 20 55 73 65 20 74 68 65 20 54 63  .#### Use the Tc
4550: 6c 20 73 6f 75 72 63 65 20 64 69 72 65 63 74 6f  l source directo
4560: 72 79 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68  ry instead of th
4570: 65 20 69 6e 73 74 61 6c 6c 20 64 69 72 65 63 74  e install direct
4580: 6f 72 79 3f 0a 23 20 20 20 20 54 68 69 73 20 69  ory?.#    This i
4590: 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 54 63  s useful when Tc
45a0: 6c 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69  l has been compi
45b0: 6c 65 64 20 73 74 61 74 69 63 61 6c 6c 79 20 77  led statically w
45c0: 69 74 68 20 4d 69 6e 47 57 2e 0a 23 0a 46 4f 53  ith MinGW..#.FOS
45d0: 53 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45 20 3d  SIL_TCL_SOURCE =
45e0: 20 31 0a 0a 23 23 23 23 20 43 68 65 63 6b 20 69   1..#### Check i
45f0: 66 20 74 68 65 20 77 6f 72 6b 61 72 6f 75 6e 64  f the workaround
4600: 20 66 6f 72 20 74 68 65 20 4d 69 6e 47 57 20 63   for the MinGW c
4610: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 68 61 6e 64  ommand line hand
4620: 6c 69 6e 67 20 6e 65 65 64 73 20 74 6f 0a 23 20  ling needs to.# 
4630: 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20 62 79     be enabled by
4640: 20 64 65 66 61 75 6c 74 2e 20 20 54 68 69 73 20   default.  This 
4650: 63 68 65 63 6b 20 6d 61 79 20 62 65 20 73 6f 6d  check may be som
4660: 65 77 68 61 74 20 66 72 61 67 69 6c 65 20 64 75  ewhat fragile du
4670: 65 20 74 6f 20 74 68 65 0a 23 20 20 20 20 75 73  e to the.#    us
4680: 65 20 6f 66 20 22 66 69 6e 64 73 74 72 69 6e 67  e of "findstring
4690: 22 2e 0a 23 0a 69 66 6e 64 65 66 20 4d 49 4e 47  "..#.ifndef MING
46a0: 57 5f 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 0a  W_IS_32BIT_ONLY.
46b0: 69 66 65 71 20 28 2c 24 28 66 69 6e 64 73 74 72  ifeq (,$(findstr
46c0: 69 6e 67 20 77 36 34 2d 6d 69 6e 67 77 33 32 2c  ing w64-mingw32,
46d0: 24 28 50 52 45 46 49 58 29 29 29 0a 4d 49 4e 47  $(PREFIX))).MING
46e0: 57 5f 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 20  W_IS_32BIT_ONLY 
46f0: 3d 20 31 0a 65 6e 64 69 66 0a 65 6e 64 69 66 0a  = 1.endif.endif.
4700: 0a 23 23 23 23 20 54 68 65 20 64 69 72 65 63 74  .#### The direct
4710: 6f 72 69 65 73 20 77 68 65 72 65 20 74 68 65 20  ories where the 
4720: 7a 6c 69 62 20 69 6e 63 6c 75 64 65 20 61 6e 64  zlib include and
4730: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 20 61   library files a
4740: 72 65 20 6c 6f 63 61 74 65 64 2e 0a 23 0a 5a 49  re located..#.ZI
4750: 4e 43 44 49 52 20 3d 20 24 28 53 52 43 44 49 52  NCDIR = $(SRCDIR
4760: 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 7a 6c 69 62  )/../compat/zlib
4770: 0a 5a 4c 49 42 44 49 52 20 3d 20 24 28 53 52 43  .ZLIBDIR = $(SRC
4780: 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 7a  DIR)/../compat/z
4790: 6c 69 62 0a 0a 23 23 23 23 20 4d 61 6b 65 20 61  lib..#### Make a
47a0: 6e 20 61 74 74 65 6d 70 74 20 74 6f 20 64 65 74  n attempt to det
47b0: 65 63 74 20 69 66 20 46 6f 73 73 69 6c 20 69 73  ect if Fossil is
47c0: 20 62 65 69 6e 67 20 62 75 69 6c 74 20 66 6f 72   being built for
47d0: 20 74 68 65 20 78 36 34 20 70 72 6f 63 65 73 73   the x64 process
47e0: 6f 72 0a 23 20 20 20 20 61 72 63 68 69 74 65 63  or.#    architec
47f0: 74 75 72 65 2e 20 20 54 68 69 73 20 63 68 65 63  ture.  This chec
4800: 6b 20 6d 61 79 20 62 65 20 73 6f 6d 65 77 68 61  k may be somewha
4810: 74 20 66 72 61 67 69 6c 65 20 64 75 65 20 74 6f  t fragile due to
4820: 20 22 66 69 6e 64 73 74 72 69 6e 67 22 2e 0a 23   "findstring"..#
4830: 0a 69 66 6e 64 65 66 20 58 36 34 0a 69 66 6e 65  .ifndef X64.ifne
4840: 71 20 28 2c 24 28 66 69 6e 64 73 74 72 69 6e 67  q (,$(findstring
4850: 20 78 38 36 5f 36 34 2d 77 36 34 2d 6d 69 6e 67   x86_64-w64-ming
4860: 77 33 32 2c 24 28 50 52 45 46 49 58 29 29 29 0a  w32,$(PREFIX))).
4870: 58 36 34 20 3d 20 31 0a 65 6e 64 69 66 0a 65 6e  X64 = 1.endif.en
4880: 64 69 66 0a 0a 23 23 23 23 20 44 65 74 65 72 6d  dif..#### Determ
4890: 69 6e 65 20 69 66 20 74 68 65 20 6f 70 74 69 6d  ine if the optim
48a0: 69 7a 65 64 20 61 73 73 65 6d 62 6c 79 20 72 6f  ized assembly ro
48b0: 75 74 69 6e 65 73 20 70 72 6f 76 69 64 65 64 20  utines provided 
48c0: 77 69 74 68 20 7a 6c 69 62 20 73 68 6f 75 6c 64  with zlib should
48d0: 20 62 65 0a 23 20 20 20 20 75 73 65 64 2c 20 74   be.#    used, t
48e0: 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75  aking into accou
48f0: 6e 74 20 77 68 65 74 68 65 72 20 7a 6c 69 62 20  nt whether zlib 
4900: 69 73 20 61 63 74 75 61 6c 6c 79 20 65 6e 61 62  is actually enab
4910: 6c 65 64 20 61 6e 64 20 74 68 65 20 74 61 72 67  led and the targ
4920: 65 74 0a 23 20 20 20 20 70 72 6f 63 65 73 73 6f  et.#    processo
4930: 72 20 61 72 63 68 69 74 65 63 74 75 72 65 2e 0a  r architecture..
4940: 23 0a 69 66 6e 64 65 66 20 58 36 34 0a 53 53 4c  #.ifndef X64.SSL
4950: 43 4f 4e 46 49 47 20 3d 20 6d 69 6e 67 77 0a 69  CONFIG = mingw.i
4960: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
4970: 42 4c 45 5f 4d 49 4e 49 5a 0a 5a 4c 49 42 43 4f  BLE_MINIZ.ZLIBCO
4980: 4e 46 49 47 20 3d 20 4c 4f 43 3d 22 2d 44 41 53  NFIG = LOC="-DAS
4990: 4d 56 20 2d 44 41 53 4d 49 4e 46 22 20 4f 42 4a  MV -DASMINF" OBJ
49a0: 41 3d 22 69 6e 66 66 61 73 38 36 2e 6f 20 6d 61  A="inffas86.o ma
49b0: 74 63 68 2e 6f 22 0a 5a 4c 49 42 54 41 52 47 45  tch.o".ZLIBTARGE
49c0: 54 53 20 3d 20 24 28 5a 4c 49 42 44 49 52 29 2f  TS = $(ZLIBDIR)/
49d0: 69 6e 66 66 61 73 38 36 2e 6f 20 24 28 5a 4c 49  inffas86.o $(ZLI
49e0: 42 44 49 52 29 2f 6d 61 74 63 68 2e 6f 0a 65 6c  BDIR)/match.o.el
49f0: 73 65 0a 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 0a  se.ZLIBCONFIG =.
4a00: 5a 4c 49 42 54 41 52 47 45 54 53 20 3d 0a 65 6e  ZLIBTARGETS =.en
4a10: 64 69 66 0a 65 6c 73 65 0a 53 53 4c 43 4f 4e 46  dif.else.SSLCONF
4a20: 49 47 20 3d 20 6d 69 6e 67 77 36 34 0a 5a 4c 49  IG = mingw64.ZLI
4a30: 42 43 4f 4e 46 49 47 20 3d 0a 5a 4c 49 42 54 41  BCONFIG =.ZLIBTA
4a40: 52 47 45 54 53 20 3d 0a 65 6e 64 69 66 0a 0a 23  RGETS =.endif..#
4a50: 23 23 23 20 44 69 73 61 62 6c 65 20 63 72 65 61  ### Disable crea
4a60: 74 69 6f 6e 20 6f 66 20 74 68 65 20 4f 70 65 6e  tion of the Open
4a70: 53 53 4c 20 73 68 61 72 65 64 20 6c 69 62 72 61  SSL shared libra
4a80: 72 69 65 73 2e 20 20 41 6c 73 6f 2c 20 64 69 73  ries.  Also, dis
4a90: 61 62 6c 65 20 73 75 70 70 6f 72 74 0a 23 20 20  able support.#  
4aa0: 20 20 66 6f 72 20 62 6f 74 68 20 53 53 4c 76 32    for both SSLv2
4ab0: 20 61 6e 64 20 53 53 4c 76 33 20 28 69 2e 65 2e   and SSLv3 (i.e.
4ac0: 20 74 68 65 72 65 62 79 20 66 6f 72 63 69 6e 67   thereby forcing
4ad0: 20 74 68 65 20 75 73 65 20 6f 66 20 54 4c 53 29   the use of TLS)
4ae0: 2e 0a 23 0a 53 53 4c 43 4f 4e 46 49 47 20 2b 3d  ..#.SSLCONFIG +=
4af0: 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c 33   no-ssl2 no-ssl3
4b00: 20 6e 6f 2d 73 68 61 72 65 64 0a 0a 23 23 23 23   no-shared..####
4b10: 20 57 68 65 6e 20 75 73 69 6e 67 20 7a 6c 69 62   When using zlib
4b20: 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74  , make sure that
4b30: 20 4f 70 65 6e 53 53 4c 20 69 73 20 63 6f 6e 66   OpenSSL is conf
4b40: 69 67 75 72 65 64 20 74 6f 20 75 73 65 20 74 68  igured to use th
4b50: 65 20 7a 6c 69 62 0a 23 20 20 20 20 74 68 61 74  e zlib.#    that
4b60: 20 46 6f 73 73 69 6c 20 6b 6e 6f 77 73 20 61 62   Fossil knows ab
4b70: 6f 75 74 20 28 69 2e 65 2e 20 74 68 65 20 6f 6e  out (i.e. the on
4b80: 65 20 77 69 74 68 69 6e 20 74 68 65 20 73 6f 75  e within the sou
4b90: 72 63 65 20 74 72 65 65 29 2e 0a 23 0a 69 66 6e  rce tree)..#.ifn
4ba0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
4bb0: 45 5f 4d 49 4e 49 5a 0a 53 53 4c 43 4f 4e 46 49  E_MINIZ.SSLCONFI
4bc0: 47 20 2b 3d 20 20 2d 2d 77 69 74 68 2d 7a 6c 69  G +=  --with-zli
4bd0: 62 2d 6c 69 62 3d 24 28 50 57 44 29 2f 24 28 5a  b-lib=$(PWD)/$(Z
4be0: 4c 49 42 44 49 52 29 20 2d 2d 77 69 74 68 2d 7a  LIBDIR) --with-z
4bf0: 6c 69 62 2d 69 6e 63 6c 75 64 65 3d 24 28 50 57  lib-include=$(PW
4c00: 44 29 2f 24 28 5a 4c 49 42 44 49 52 29 20 7a 6c  D)/$(ZLIBDIR) zl
4c10: 69 62 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 54  ib.endif..#### T
4c20: 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 77  he directories w
4c30: 68 65 72 65 20 74 68 65 20 4f 70 65 6e 53 53 4c  here the OpenSSL
4c40: 20 69 6e 63 6c 75 64 65 20 61 6e 64 20 6c 69 62   include and lib
4c50: 72 61 72 79 20 66 69 6c 65 73 20 61 72 65 20 6c  rary files are l
4c60: 6f 63 61 74 65 64 2e 0a 23 20 20 20 20 54 68 65  ocated..#    The
4c70: 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 75 73 61   recommended usa
4c80: 67 65 20 68 65 72 65 20 69 73 20 74 6f 20 75 73  ge here is to us
4c90: 65 20 74 68 65 20 53 79 73 69 6e 74 65 72 6e 61  e the Sysinterna
4ca0: 6c 73 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 6f 6c  ls junction tool
4cb0: 0a 23 20 20 20 20 74 6f 20 63 72 65 61 74 65 20  .#    to create 
4cc0: 61 20 68 61 72 64 20 6c 69 6e 6b 20 62 65 74 77  a hard link betw
4cd0: 65 65 6e 20 61 6e 20 22 6f 70 65 6e 73 73 6c 2d  een an "openssl-
4ce0: 31 2e 78 22 20 73 75 62 2d 64 69 72 65 63 74 6f  1.x" sub-directo
4cf0: 72 79 20 6f 66 20 74 68 65 0a 23 20 20 20 20 46  ry of the.#    F
4d00: 6f 73 73 69 6c 20 73 6f 75 72 63 65 20 63 6f 64  ossil source cod
4d10: 65 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20  e directory and 
4d20: 74 68 65 20 74 61 72 67 65 74 20 4f 70 65 6e 53  the target OpenS
4d30: 53 4c 20 73 6f 75 72 63 65 20 64 69 72 65 63 74  SL source direct
4d40: 6f 72 79 2e 0a 23 0a 4f 50 45 4e 53 53 4c 44 49  ory..#.OPENSSLDI
4d50: 52 20 3d 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  R = $(SRCDIR)/..
4d60: 2f 63 6f 6d 70 61 74 2f 6f 70 65 6e 73 73 6c 2d  /compat/openssl-
4d70: 31 2e 30 2e 32 6e 0a 4f 50 45 4e 53 53 4c 49 4e  1.0.2n.OPENSSLIN
4d80: 43 44 49 52 20 3d 20 24 28 4f 50 45 4e 53 53 4c  CDIR = $(OPENSSL
4d90: 44 49 52 29 2f 69 6e 63 6c 75 64 65 0a 4f 50 45  DIR)/include.OPE
4da0: 4e 53 53 4c 4c 49 42 44 49 52 20 3d 20 24 28 4f  NSSLLIBDIR = $(O
4db0: 50 45 4e 53 53 4c 44 49 52 29 0a 0a 23 23 23 23  PENSSLDIR)..####
4dc0: 20 45 69 74 68 65 72 20 74 68 65 20 64 69 72 65   Either the dire
4dd0: 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 20  ctory where the 
4de0: 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 69  Tcl library is i
4df0: 6e 73 74 61 6c 6c 65 64 20 6f 72 20 74 68 65 20  nstalled or the 
4e00: 54 63 6c 0a 23 20 20 20 20 73 6f 75 72 63 65 20  Tcl.#    source 
4e10: 63 6f 64 65 20 64 69 72 65 63 74 6f 72 79 20 72  code directory r
4e20: 65 73 69 64 65 73 20 28 64 65 70 65 6e 64 69 6e  esides (dependin
4e30: 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f  g on the value o
4e40: 66 20 74 68 65 20 6d 61 63 72 6f 0a 23 20 20 20  f the macro.#   
4e50: 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 52   FOSSIL_TCL_SOUR
4e60: 43 45 29 2e 20 20 49 66 20 74 68 69 73 20 70 6f  CE).  If this po
4e70: 69 6e 74 73 20 74 6f 20 74 68 65 20 54 63 6c 20  ints to the Tcl 
4e80: 69 6e 73 74 61 6c 6c 20 64 69 72 65 63 74 6f 72  install director
4e90: 79 2c 0a 23 20 20 20 20 74 68 69 73 20 64 69 72  y,.#    this dir
4ea0: 65 63 74 6f 72 79 20 6d 75 73 74 20 68 61 76 65  ectory must have
4eb0: 20 22 69 6e 63 6c 75 64 65 22 20 61 6e 64 20 22   "include" and "
4ec0: 6c 69 62 22 20 73 75 62 2d 64 69 72 65 63 74 6f  lib" sub-directo
4ed0: 72 69 65 73 2e 20 20 49 66 0a 23 20 20 20 20 74  ries.  If.#    t
4ee0: 68 69 73 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  his points to th
4ef0: 65 20 54 63 6c 20 73 6f 75 72 63 65 20 63 6f 64  e Tcl source cod
4f00: 65 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 69  e directory, thi
4f10: 73 20 64 69 72 65 63 74 6f 72 79 20 6d 75 73 74  s directory must
4f20: 0a 23 20 20 20 20 68 61 76 65 20 22 67 65 6e 65  .#    have "gene
4f30: 72 69 63 22 20 61 6e 64 20 22 77 69 6e 22 20 73  ric" and "win" s
4f40: 75 62 2d 64 69 72 65 63 74 6f 72 69 65 73 2e 20  ub-directories. 
4f50: 20 54 68 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64   The recommended
4f60: 20 75 73 61 67 65 0a 23 20 20 20 20 68 65 72 65   usage.#    here
4f70: 20 69 73 20 74 6f 20 75 73 65 20 74 68 65 20 53   is to use the S
4f80: 79 73 69 6e 74 65 72 6e 61 6c 73 20 6a 75 6e 63  ysinternals junc
4f90: 74 69 6f 6e 20 74 6f 6f 6c 20 74 6f 20 63 72 65  tion tool to cre
4fa0: 61 74 65 20 61 20 68 61 72 64 0a 23 20 20 20 20  ate a hard.#    
4fb0: 6c 69 6e 6b 20 62 65 74 77 65 65 6e 20 61 20 22  link between a "
4fc0: 74 63 6c 2d 38 2e 78 22 20 73 75 62 2d 64 69 72  tcl-8.x" sub-dir
4fd0: 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 46 6f  ectory of the Fo
4fe0: 73 73 69 6c 20 73 6f 75 72 63 65 20 63 6f 64 65  ssil source code
4ff0: 0a 23 20 20 20 20 64 69 72 65 63 74 6f 72 79 20  .#    directory 
5000: 61 6e 64 20 74 68 65 20 74 61 72 67 65 74 20 54  and the target T
5010: 63 6c 20 64 69 72 65 63 74 6f 72 79 2e 20 20 54  cl directory.  T
5020: 68 69 73 20 72 65 6d 6f 76 65 73 20 74 68 65 20  his removes the 
5030: 6e 65 65 64 20 74 6f 0a 23 20 20 20 20 68 61 72  need to.#    har
5040: 64 2d 63 6f 64 65 20 74 68 65 20 6e 65 63 65 73  d-code the neces
5050: 73 61 72 79 20 70 61 74 68 73 20 69 6e 20 74 68  sary paths in th
5060: 69 73 20 4d 61 6b 65 66 69 6c 65 2e 0a 23 0a 54  is Makefile..#.T
5070: 43 4c 44 49 52 20 3d 20 24 28 53 52 43 44 49 52  CLDIR = $(SRCDIR
5080: 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 74 63 6c 2d  )/../compat/tcl-
5090: 38 2e 36 0a 0a 23 23 23 23 20 54 68 65 20 54 63  8.6..#### The Tc
50a0: 6c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64 69  l source code di
50b0: 72 65 63 74 6f 72 79 2e 20 20 54 68 69 73 20 64  rectory.  This d
50c0: 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 73  efaults to the s
50d0: 61 6d 65 20 76 61 6c 75 65 20 61 73 0a 23 20 20  ame value as.#  
50e0: 20 20 54 43 4c 44 49 52 20 6d 61 63 72 6f 20 28    TCLDIR macro (
50f0: 61 62 6f 76 65 29 2c 20 77 68 69 63 68 20 6d 61  above), which ma
5100: 79 20 6e 6f 74 20 62 65 20 63 6f 72 72 65 63 74  y not be correct
5110: 2e 20 20 54 68 69 73 20 76 61 6c 75 65 20 77 69  .  This value wi
5120: 6c 6c 0a 23 20 20 20 20 6f 6e 6c 79 20 62 65 20  ll.#    only be 
5130: 75 73 65 64 20 69 66 20 74 68 65 20 46 4f 53 53  used if the FOSS
5140: 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45 20 6d 61  IL_TCL_SOURCE ma
5150: 63 72 6f 20 69 73 20 64 65 66 69 6e 65 64 2e 0a  cro is defined..
5160: 23 0a 54 43 4c 53 52 43 44 49 52 20 3d 20 24 28  #.TCLSRCDIR = $(
5170: 54 43 4c 44 49 52 29 0a 0a 23 23 23 23 20 54 68  TCLDIR)..#### Th
5180: 65 20 54 63 6c 20 69 6e 63 6c 75 64 65 20 61 6e  e Tcl include an
5190: 64 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74  d library direct
51a0: 6f 72 69 65 73 2e 20 20 54 68 65 73 65 20 76 61  ories.  These va
51b0: 6c 75 65 73 20 77 69 6c 6c 20 6f 6e 6c 79 20 62  lues will only b
51c0: 65 0a 23 20 20 20 20 75 73 65 64 20 69 66 20 74  e.#    used if t
51d0: 68 65 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f  he FOSSIL_TCL_SO
51e0: 55 52 43 45 20 6d 61 63 72 6f 20 69 73 20 6e 6f  URCE macro is no
51f0: 74 20 64 65 66 69 6e 65 64 2e 0a 23 0a 54 43 4c  t defined..#.TCL
5200: 49 4e 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49  INCDIR = $(TCLDI
5210: 52 29 2f 69 6e 63 6c 75 64 65 0a 54 43 4c 4c 49  R)/include.TCLLI
5220: 42 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  BDIR = $(TCLDIR)
5230: 2f 6c 69 62 0a 0a 23 23 23 23 20 54 63 6c 3a 20  /lib..#### Tcl: 
5240: 57 68 69 63 68 20 54 63 6c 20 6c 69 62 72 61 72  Which Tcl librar
5250: 79 20 64 6f 20 77 65 20 77 61 6e 74 20 74 6f 20  y do we want to 
5260: 75 73 65 20 28 38 2e 34 2c 20 38 2e 35 2c 20 38  use (8.4, 8.5, 8
5270: 2e 36 2c 20 65 74 63 29 3f 0a 23 0a 69 66 64 65  .6, etc)?.#.ifde
5280: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  f FOSSIL_ENABLE_
5290: 54 43 4c 5f 53 54 55 42 53 0a 69 66 6e 64 65 66  TCL_STUBS.ifndef
52a0: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54   FOSSIL_ENABLE_T
52b0: 43 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53  CL_PRIVATE_STUBS
52c0: 0a 4c 49 42 54 43 4c 20 3d 20 2d 6c 74 63 6c 73  .LIBTCL = -ltcls
52d0: 74 75 62 38 36 0a 65 6e 64 69 66 0a 54 43 4c 54  tub86.endif.TCLT
52e0: 41 52 47 45 54 20 3d 20 6c 69 62 74 63 6c 73 74  ARGET = libtclst
52f0: 75 62 38 36 2e 61 0a 65 6c 73 65 0a 4c 49 42 54  ub86.a.else.LIBT
5300: 43 4c 20 3d 20 2d 6c 74 63 6c 38 36 0a 54 43 4c  CL = -ltcl86.TCL
5310: 54 41 52 47 45 54 20 3d 20 62 69 6e 61 72 69 65  TARGET = binarie
5320: 73 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 43 20  s.endif..#### C 
5330: 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 75 73 65  compiler for use
5340: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65   in building exe
5350: 63 75 74 61 62 6c 65 73 20 74 68 61 74 20 77 69  cutables that wi
5360: 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 0a 23 20  ll run on the.# 
5370: 20 20 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f     target platfo
5380: 72 6d 2e 20 20 54 68 69 73 20 69 73 20 75 73 75  rm.  This is usu
5390: 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73  ally the same as
53a0: 20 42 43 43 45 58 45 2c 20 75 6e 6c 65 73 73 20   BCCEXE, unless 
53b0: 79 6f 75 0a 23 20 20 20 20 61 72 65 20 63 72 6f  you.#    are cro
53c0: 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20 54  ss-compiling.  T
53d0: 68 69 73 20 43 20 63 6f 6d 70 69 6c 65 72 20 62  his C compiler b
53e0: 75 69 6c 64 73 20 74 68 65 20 66 69 6e 69 73 68  uilds the finish
53f0: 65 64 20 62 69 6e 61 72 79 0a 23 20 20 20 20 66  ed binary.#    f
5400: 6f 72 20 66 6f 73 73 69 6c 2e 20 20 53 65 65 20  or fossil.  See 
5410: 42 43 43 20 61 6e 64 20 42 43 43 45 58 45 20 61  BCC and BCCEXE a
5420: 62 6f 76 65 20 66 6f 72 20 74 68 65 20 43 20 63  bove for the C c
5430: 6f 6d 70 69 6c 65 72 20 66 6f 72 0a 23 20 20 20  ompiler for.#   
5440: 20 62 75 69 6c 64 69 6e 67 20 69 6e 74 65 72 6d   building interm
5450: 65 64 69 61 74 65 20 63 6f 64 65 2d 67 65 6e 65  ediate code-gene
5460: 72 61 74 6f 72 20 74 6f 6f 6c 73 2e 0a 23 0a 54  rator tools..#.T
5470: 43 43 45 58 45 20 3d 20 67 63 63 0a 0a 23 23 23  CCEXE = gcc..###
5480: 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64  # C compiler and
5490: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65   options for use
54a0: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65   in building exe
54b0: 63 75 74 61 62 6c 65 73 20 74 68 61 74 20 77 69  cutables that wi
54c0: 6c 6c 0a 23 20 20 20 20 72 75 6e 20 6f 6e 20 74  ll.#    run on t
54d0: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
54e0: 72 6d 2e 20 20 54 68 69 73 20 69 73 20 75 73 75  rm.  This is usu
54f0: 61 6c 6c 79 20 74 68 65 20 61 6c 6d 6f 73 74 20  ally the almost 
5500: 74 68 65 20 73 61 6d 65 0a 23 20 20 20 20 61 73  the same.#    as
5510: 20 42 43 43 2c 20 75 6e 6c 65 73 73 20 79 6f 75   BCC, unless you
5520: 20 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69   are cross-compi
5530: 6c 69 6e 67 2e 20 20 54 68 69 73 20 43 20 63 6f  ling.  This C co
5540: 6d 70 69 6c 65 72 20 62 75 69 6c 64 73 0a 23 20  mpiler builds.# 
5550: 20 20 20 74 68 65 20 66 69 6e 69 73 68 65 64 20     the finished 
5560: 62 69 6e 61 72 79 20 66 6f 72 20 66 6f 73 73 69  binary for fossi
5570: 6c 2e 20 20 54 68 65 20 42 43 43 20 63 6f 6d 70  l.  The BCC comp
5580: 69 6c 65 72 20 61 62 6f 76 65 20 69 73 20 75 73  iler above is us
5590: 65 64 0a 23 20 20 20 20 66 6f 72 20 62 75 69 6c  ed.#    for buil
55a0: 64 69 6e 67 20 69 6e 74 65 72 6d 65 64 69 61 74  ding intermediat
55b0: 65 20 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72  e code-generator
55c0: 20 74 6f 6f 6c 73 2e 0a 23 0a 54 43 43 20 3d 20   tools..#.TCC = 
55d0: 24 28 50 52 45 46 49 58 29 24 28 54 43 43 45 58  $(PREFIX)$(TCCEX
55e0: 45 29 20 2d 57 61 6c 6c 20 2d 57 64 65 63 6c 61  E) -Wall -Wdecla
55f0: 72 61 74 69 6f 6e 2d 61 66 74 65 72 2d 73 74 61  ration-after-sta
5600: 74 65 6d 65 6e 74 0a 0a 23 23 23 23 20 41 64 64  tement..#### Add
5610: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 63   the necessary c
5620: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69  ommand line opti
5630: 6f 6e 73 20 74 6f 20 62 75 69 6c 64 20 77 69 74  ons to build wit
5640: 68 20 64 65 62 75 67 67 69 6e 67 0a 23 20 20 20  h debugging.#   
5650: 20 73 79 6d 62 6f 6c 73 2c 20 69 66 20 65 6e 61   symbols, if ena
5660: 62 6c 65 64 2e 0a 23 0a 69 66 64 65 66 20 46 4f  bled..#.ifdef FO
5670: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 59 4d 42  SSIL_ENABLE_SYMB
5680: 4f 4c 53 0a 54 43 43 20 2b 3d 20 2d 67 0a 65 6c  OLS.TCC += -g.el
5690: 73 65 0a 54 43 43 20 2b 3d 20 2d 4f 73 0a 65 6e  se.TCC += -Os.en
56a0: 64 69 66 0a 0a 23 23 23 23 20 57 68 65 6e 20 6e  dif..#### When n
56b0: 6f 74 20 75 73 69 6e 67 20 74 68 65 20 6d 69 6e  ot using the min
56c0: 69 7a 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c  iz compression l
56d0: 69 62 72 61 72 79 2c 20 7a 6c 69 62 20 69 73 20  ibrary, zlib is 
56e0: 72 65 71 75 69 72 65 64 2e 0a 23 0a 69 66 6e 64  required..#.ifnd
56f0: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ef FOSSIL_ENABLE
5700: 5f 4d 49 4e 49 5a 0a 54 43 43 20 2b 3d 20 2d 4c  _MINIZ.TCC += -L
5710: 24 28 5a 4c 49 42 44 49 52 29 20 2d 49 24 28 5a  $(ZLIBDIR) -I$(Z
5720: 49 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a 0a 23  INCDIR).endif..#
5730: 23 23 23 20 43 6f 6d 70 69 6c 65 20 72 65 73 6f  ### Compile reso
5740: 75 72 63 65 73 20 66 6f 72 20 75 73 65 20 69 6e  urces for use in
5750: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
5760: 61 62 6c 65 73 20 74 68 61 74 20 77 69 6c 6c 20  ables that will 
5770: 72 75 6e 0a 23 20 20 20 20 6f 6e 20 74 68 65 20  run.#    on the 
5780: 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e  target platform.
5790: 0a 23 0a 52 43 43 20 3d 20 24 28 50 52 45 46 49  .#.RCC = $(PREFI
57a0: 58 29 77 69 6e 64 72 65 73 20 2d 49 24 28 53 52  X)windres -I$(SR
57b0: 43 44 49 52 29 0a 0a 69 66 6e 64 65 66 20 46 4f  CDIR)..ifndef FO
57c0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
57d0: 5a 0a 52 43 43 20 2b 3d 20 2d 49 24 28 5a 49 4e  Z.RCC += -I$(ZIN
57e0: 43 44 49 52 29 0a 65 6e 64 69 66 0a 0a 23 20 57  CDIR).endif..# W
57f0: 69 74 68 20 48 54 54 50 53 20 73 75 70 70 6f 72  ith HTTPS suppor
5800: 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45  t.ifdef FOSSIL_E
5810: 4e 41 42 4c 45 5f 53 53 4c 0a 54 43 43 20 2b 3d  NABLE_SSL.TCC +=
5820: 20 2d 4c 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44   -L$(OPENSSLLIBD
5830: 49 52 29 20 2d 49 24 28 4f 50 45 4e 53 53 4c 49  IR) -I$(OPENSSLI
5840: 4e 43 44 49 52 29 0a 52 43 43 20 2b 3d 20 2d 49  NCDIR).RCC += -I
5850: 24 28 4f 50 45 4e 53 53 4c 49 4e 43 44 49 52 29  $(OPENSSLINCDIR)
5860: 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 54  .endif..# With T
5870: 63 6c 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66  cl support.ifdef
5880: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54   FOSSIL_ENABLE_T
5890: 43 4c 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  CL.ifdef FOSSIL_
58a0: 54 43 4c 5f 53 4f 55 52 43 45 0a 54 43 43 20 2b  TCL_SOURCE.TCC +
58b0: 3d 20 2d 4c 24 28 54 43 4c 53 52 43 44 49 52 29  = -L$(TCLSRCDIR)
58c0: 2f 77 69 6e 20 2d 49 24 28 54 43 4c 53 52 43 44  /win -I$(TCLSRCD
58d0: 49 52 29 2f 67 65 6e 65 72 69 63 20 2d 49 24 28  IR)/generic -I$(
58e0: 54 43 4c 53 52 43 44 49 52 29 2f 77 69 6e 0a 52  TCLSRCDIR)/win.R
58f0: 43 43 20 2b 3d 20 2d 49 24 28 54 43 4c 53 52 43  CC += -I$(TCLSRC
5900: 44 49 52 29 2f 67 65 6e 65 72 69 63 20 2d 49 24  DIR)/generic -I$
5910: 28 54 43 4c 53 52 43 44 49 52 29 2f 77 69 6e 0a  (TCLSRCDIR)/win.
5920: 65 6c 73 65 0a 54 43 43 20 2b 3d 20 2d 4c 24 28  else.TCC += -L$(
5930: 54 43 4c 4c 49 42 44 49 52 29 20 2d 49 24 28 54  TCLLIBDIR) -I$(T
5940: 43 4c 49 4e 43 44 49 52 29 0a 52 43 43 20 2b 3d  CLINCDIR).RCC +=
5950: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 0a   -I$(TCLINCDIR).
5960: 65 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23 20 57  endif.endif..# W
5970: 69 74 68 20 6d 69 6e 69 7a 20 28 69 2e 65 2e 20  ith miniz (i.e. 
5980: 69 6e 73 74 65 61 64 20 6f 66 20 7a 6c 69 62 29  instead of zlib)
5990: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
59a0: 41 42 4c 45 5f 4d 49 4e 49 5a 0a 54 43 43 20 2b  ABLE_MINIZ.TCC +
59b0: 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  = -DFOSSIL_ENABL
59c0: 45 5f 4d 49 4e 49 5a 3d 31 0a 52 43 43 20 2b 3d  E_MINIZ=1.RCC +=
59d0: 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   -DFOSSIL_ENABLE
59e0: 5f 4d 49 4e 49 5a 3d 31 0a 65 6e 64 69 66 0a 0a  _MINIZ=1.endif..
59f0: 23 20 57 69 74 68 20 4d 69 6e 47 57 20 63 6f 6d  # With MinGW com
5a00: 6d 61 6e 64 20 6c 69 6e 65 20 68 61 6e 64 6c 69  mand line handli
5a10: 6e 67 20 77 6f 72 6b 61 72 6f 75 6e 64 0a 69 66  ng workaround.if
5a20: 64 65 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42  def MINGW_IS_32B
5a30: 49 54 5f 4f 4e 4c 59 0a 54 43 43 20 2b 3d 20 2d  IT_ONLY.TCC += -
5a40: 44 42 52 4f 4b 45 4e 5f 4d 49 4e 47 57 5f 43 4d  DBROKEN_MINGW_CM
5a50: 44 4c 49 4e 45 3d 31 0a 52 43 43 20 2b 3d 20 2d  DLINE=1.RCC += -
5a60: 44 42 52 4f 4b 45 4e 5f 4d 49 4e 47 57 5f 43 4d  DBROKEN_MINGW_CM
5a70: 44 4c 49 4e 45 3d 31 0a 65 6e 64 69 66 0a 0a 23  DLINE=1.endif..#
5a80: 20 57 69 74 68 20 48 54 54 50 53 20 73 75 70 70   With HTTPS supp
5a90: 6f 72 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c  ort.ifdef FOSSIL
5aa0: 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a 54 43 43 20  _ENABLE_SSL.TCC 
5ab0: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5ac0: 4c 45 5f 53 53 4c 3d 31 0a 52 43 43 20 2b 3d 20  LE_SSL=1.RCC += 
5ad0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5ae0: 53 53 4c 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57  SSL=1.endif..# W
5af0: 69 74 68 20 72 65 6c 61 74 69 76 65 20 70 61 74  ith relative pat
5b00: 68 73 20 69 6e 20 65 78 74 65 72 6e 61 6c 20 64  hs in external d
5b10: 69 66 66 2f 67 64 69 66 66 0a 69 66 64 65 66 20  iff/gdiff.ifdef 
5b20: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58  FOSSIL_ENABLE_EX
5b30: 45 43 5f 52 45 4c 5f 50 41 54 48 53 0a 54 43 43  EC_REL_PATHS.TCC
5b40: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5b50: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
5b60: 48 53 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f  HS=1.RCC += -DFO
5b70: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43  SSIL_ENABLE_EXEC
5b80: 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 65 6e 64  _REL_PATHS=1.end
5b90: 69 66 0a 0a 23 20 57 69 74 68 20 6c 65 67 61 63  if..# With legac
5ba0: 79 20 74 72 65 61 74 6d 65 6e 74 20 6f 66 20 6d  y treatment of m
5bb0: 76 2f 72 6d 0a 69 66 64 65 66 20 46 4f 53 53 49  v/rm.ifdef FOSSI
5bc0: 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f  L_ENABLE_LEGACY_
5bd0: 4d 56 5f 52 4d 0a 54 43 43 20 2b 3d 20 2d 44 46  MV_RM.TCC += -DF
5be0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47  OSSIL_ENABLE_LEG
5bf0: 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 52 43 43 20  ACY_MV_RM=1.RCC 
5c00: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5c10: 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d  LE_LEGACY_MV_RM=
5c20: 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20  1.endif..# With 
5c30: 54 48 31 20 65 6d 62 65 64 64 65 64 20 64 6f 63  TH1 embedded doc
5c40: 73 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  s support.ifdef 
5c50: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
5c60: 31 5f 44 4f 43 53 0a 54 43 43 20 2b 3d 20 2d 44  1_DOCS.TCC += -D
5c70: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
5c80: 31 5f 44 4f 43 53 3d 31 0a 52 43 43 20 2b 3d 20  1_DOCS=1.RCC += 
5c90: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5ca0: 54 48 31 5f 44 4f 43 53 3d 31 0a 65 6e 64 69 66  TH1_DOCS=1.endif
5cb0: 0a 0a 23 20 57 69 74 68 20 54 48 31 20 68 6f 6f  ..# With TH1 hoo
5cc0: 6b 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  k support.ifdef 
5cd0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
5ce0: 31 5f 48 4f 4f 4b 53 0a 54 43 43 20 2b 3d 20 2d  1_HOOKS.TCC += -
5cf0: 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54  DFOSSIL_ENABLE_T
5d00: 48 31 5f 48 4f 4f 4b 53 3d 31 0a 52 43 43 20 2b  H1_HOOKS=1.RCC +
5d10: 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  = -DFOSSIL_ENABL
5d20: 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 65 6e  E_TH1_HOOKS=1.en
5d30: 64 69 66 0a 0a 23 20 57 69 74 68 20 54 63 6c 20  dif..# With Tcl 
5d40: 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20 46 4f  support.ifdef FO
5d50: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a  SSIL_ENABLE_TCL.
5d60: 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  TCC += -DFOSSIL_
5d70: 45 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a 52 43 43  ENABLE_TCL=1.RCC
5d80: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5d90: 42 4c 45 5f 54 43 4c 3d 31 0a 23 20 45 69 74 68  BLE_TCL=1.# Eith
5da0: 65 72 20 73 74 61 74 69 63 61 6c 6c 79 20 6c 69  er statically li
5db0: 6e 6b 65 64 20 6f 72 20 76 69 61 20 73 74 75 62  nked or via stub
5dc0: 73 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45  s.ifdef FOSSIL_E
5dd0: 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 0a  NABLE_TCL_STUBS.
5de0: 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  TCC += -DFOSSIL_
5df0: 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53  ENABLE_TCL_STUBS
5e00: 3d 31 20 2d 44 55 53 45 5f 54 43 4c 5f 53 54 55  =1 -DUSE_TCL_STU
5e10: 42 53 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53  BS.RCC += -DFOSS
5e20: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54  IL_ENABLE_TCL_ST
5e30: 55 42 53 3d 31 20 2d 44 55 53 45 5f 54 43 4c 5f  UBS=1 -DUSE_TCL_
5e40: 53 54 55 42 53 0a 69 66 64 65 66 20 46 4f 53 53  STUBS.ifdef FOSS
5e50: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52  IL_ENABLE_TCL_PR
5e60: 49 56 41 54 45 5f 53 54 55 42 53 0a 54 43 43 20  IVATE_STUBS.TCC 
5e70: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5e80: 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53  LE_TCL_PRIVATE_S
5e90: 54 55 42 53 3d 31 0a 52 43 43 20 2b 3d 20 2d 44  TUBS=1.RCC += -D
5ea0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
5eb0: 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 3d  L_PRIVATE_STUBS=
5ec0: 31 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 54 43 43  1.endif.else.TCC
5ed0: 20 2b 3d 20 2d 44 53 54 41 54 49 43 5f 42 55 49   += -DSTATIC_BUI
5ee0: 4c 44 0a 52 43 43 20 2b 3d 20 2d 44 53 54 41 54  LD.RCC += -DSTAT
5ef0: 49 43 5f 42 55 49 4c 44 0a 65 6e 64 69 66 0a 65  IC_BUILD.endif.e
5f00: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 4a 53 4f  ndif..# With JSO
5f10: 4e 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  N support.ifdef 
5f20: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53  FOSSIL_ENABLE_JS
5f30: 4f 4e 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53  ON.TCC += -DFOSS
5f40: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31  IL_ENABLE_JSON=1
5f50: 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .RCC += -DFOSSIL
5f60: 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31 0a 65  _ENABLE_JSON=1.e
5f70: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 53 51 4c  ndif..# With SQL
5f80: 69 74 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 45  ite Encryption E
5f90: 78 74 65 6e 73 69 6f 6e 20 73 75 70 70 6f 72 74  xtension support
5fa0: 0a 69 66 64 65 66 20 55 53 45 5f 53 45 45 0a 54  .ifdef USE_SEE.T
5fb0: 43 43 20 2b 3d 20 2d 44 55 53 45 5f 53 45 45 3d  CC += -DUSE_SEE=
5fc0: 31 0a 52 43 43 20 2b 3d 20 2d 44 55 53 45 5f 53  1.RCC += -DUSE_S
5fd0: 45 45 3d 31 0a 65 6e 64 69 66 0a 0a 23 23 23 23  EE=1.endif..####
5fe0: 20 54 68 65 20 6f 70 74 69 6f 6e 20 2d 73 74 61   The option -sta
5ff0: 74 69 63 20 68 61 73 20 6e 6f 20 65 66 66 65 63  tic has no effec
6000: 74 20 6f 6e 20 4d 69 6e 47 57 28 2d 77 36 34 29  t on MinGW(-w64)
6010: 2c 20 6f 6e 6c 79 20 64 79 6e 61 6d 69 63 0a 23  , only dynamic.#
6020: 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 73 20      executables 
6030: 63 61 6e 20 62 65 20 62 75 69 6c 74 20 77 68 65  can be built whe
6040: 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 4d  n linking with M
6050: 53 56 43 52 54 2e 20 20 4f 70 65 6e 53 53 4c 0a  SVCRT.  OpenSSL.
6060: 23 20 20 20 20 28 6f 70 74 69 6f 6e 61 6c 29 20  #    (optional) 
6070: 61 6e 64 20 7a 6c 69 62 20 28 72 65 71 75 69 72  and zlib (requir
6080: 65 64 29 20 68 6f 77 65 76 65 72 20 61 72 65 20  ed) however are 
6090: 61 6c 77 61 79 73 20 6c 69 6e 6b 65 64 20 69 6e  always linked in
60a0: 0a 23 20 20 20 20 73 74 61 74 69 63 61 6c 6c 79  .#    statically
60b0: 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 74 68  .  Therefore, th
60c0: 65 20 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43  e FOSSIL_DYNAMIC
60d0: 5f 42 55 49 4c 44 20 6f 70 74 69 6f 6e 20 64 6f  _BUILD option do
60e0: 65 73 0a 23 20 20 20 20 6e 6f 74 20 72 65 61 6c  es.#    not real
60f0: 6c 79 20 61 70 70 6c 79 20 74 6f 20 4d 69 6e 47  ly apply to MinG
6100: 57 20 28 69 2e 65 2e 20 73 69 6e 63 65 20 41 4c  W (i.e. since AL
6110: 4c 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 72 61  L external libra
6120: 72 69 65 73 0a 23 20 20 20 20 61 72 65 20 4e 4f  ries.#    are NO
6130: 54 20 6c 69 6e 6b 65 64 20 64 79 6e 61 6d 69 63  T linked dynamic
6140: 61 6c 6c 79 29 2e 0a 23 0a 23 20 4c 49 42 20 3d  ally)..#.# LIB =
6150: 20 2d 73 74 61 74 69 63 0a 0a 23 23 23 23 20 4d   -static..#### M
6160: 69 6e 47 57 3a 20 49 66 20 61 76 61 69 6c 61 62  inGW: If availab
6170: 6c 65 2c 20 75 73 65 20 74 68 65 20 55 6e 69 63  le, use the Unic
6180: 6f 64 65 20 63 61 70 61 62 6c 65 20 72 75 6e 74  ode capable runt
6190: 69 6d 65 20 73 74 61 72 74 75 70 20 63 6f 64 65  ime startup code
61a0: 2e 0a 23 0a 69 66 6e 64 65 66 20 4d 49 4e 47 57  ..#.ifndef MINGW
61b0: 5f 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 0a 4c  _IS_32BIT_ONLY.L
61c0: 49 42 20 2b 3d 20 2d 6d 75 6e 69 63 6f 64 65 0a  IB += -municode.
61d0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 53 51 4c 69  endif..#### SQLi
61e0: 74 65 3a 20 49 66 20 65 6e 61 62 6c 65 64 2c 20  te: If enabled, 
61f0: 75 73 65 20 74 68 65 20 73 79 73 74 65 6d 20 53  use the system S
6200: 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e 0a 23  QLite library..#
6210: 0a 69 66 64 65 66 20 55 53 45 5f 53 59 53 54 45  .ifdef USE_SYSTE
6220: 4d 5f 53 51 4c 49 54 45 0a 4c 49 42 20 2b 3d 20  M_SQLITE.LIB += 
6230: 2d 6c 73 71 6c 69 74 65 33 0a 65 6e 64 69 66 0a  -lsqlite3.endif.
6240: 0a 23 23 23 23 20 4f 70 65 6e 53 53 4c 3a 20 41  .#### OpenSSL: A
6250: 64 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79  dd the necessary
6260: 20 6c 69 62 72 61 72 69 65 73 20 72 65 71 75 69   libraries requi
6270: 72 65 64 2c 20 69 66 20 65 6e 61 62 6c 65 64 2e  red, if enabled.
6280: 0a 23 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  .#.ifdef FOSSIL_
6290: 45 4e 41 42 4c 45 5f 53 53 4c 0a 4c 49 42 20 2b  ENABLE_SSL.LIB +
62a0: 3d 20 2d 6c 73 73 6c 20 2d 6c 63 72 79 70 74 6f  = -lssl -lcrypto
62b0: 20 2d 6c 67 64 69 33 32 20 2d 6c 63 72 79 70 74   -lgdi32 -lcrypt
62c0: 33 32 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 54  32.endif..#### T
62d0: 63 6c 3a 20 41 64 64 20 74 68 65 20 6e 65 63 65  cl: Add the nece
62e0: 73 73 61 72 79 20 6c 69 62 72 61 72 69 65 73 20  ssary libraries 
62f0: 72 65 71 75 69 72 65 64 2c 20 69 66 20 65 6e 61  required, if ena
6300: 62 6c 65 64 2e 0a 23 0a 69 66 64 65 66 20 46 4f  bled..#.ifdef FO
6310: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a  SSIL_ENABLE_TCL.
6320: 4c 49 42 20 2b 3d 20 24 28 4c 49 42 54 43 4c 29  LIB += $(LIBTCL)
6330: 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 45 78 74  .endif..#### Ext
6340: 72 61 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72  ra arguments for
6350: 20 6c 69 6e 6b 69 6e 67 20 74 68 65 20 66 69 6e   linking the fin
6360: 69 73 68 65 64 20 62 69 6e 61 72 79 2e 20 20 46  ished binary.  F
6370: 6f 73 73 69 6c 20 6e 65 65 64 73 0a 23 20 20 20  ossil needs.#   
6380: 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74   to link against
6390: 20 74 68 65 20 5a 2d 4c 69 62 20 63 6f 6d 70 72   the Z-Lib compr
63a0: 65 73 73 69 6f 6e 20 6c 69 62 72 61 72 79 2e 20  ession library. 
63b0: 20 54 68 65 72 65 20 61 72 65 20 6e 6f 0a 23 20   There are no.# 
63c0: 20 20 20 6f 74 68 65 72 20 6d 61 6e 64 61 74 6f     other mandato
63d0: 72 79 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e  ry dependencies.
63e0: 0a 23 0a 4c 49 42 20 2b 3d 20 2d 6c 6d 69 6e 67  .#.LIB += -lming
63f0: 77 65 78 0a 0a 23 23 23 23 20 57 68 65 6e 20 6e  wex..#### When n
6400: 6f 74 20 75 73 69 6e 67 20 74 68 65 20 6d 69 6e  ot using the min
6410: 69 7a 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c  iz compression l
6420: 69 62 72 61 72 79 2c 20 7a 6c 69 62 20 69 73 20  ibrary, zlib is 
6430: 72 65 71 75 69 72 65 64 2e 0a 23 0a 69 66 6e 64  required..#.ifnd
6440: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ef FOSSIL_ENABLE
6450: 5f 4d 49 4e 49 5a 0a 4c 49 42 20 2b 3d 20 2d 6c  _MINIZ.LIB += -l
6460: 7a 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 54 68  z.endif..#### Th
6470: 65 73 65 20 6c 69 62 72 61 72 69 65 73 20 4d 55  ese libraries MU
6480: 53 54 20 61 70 70 65 61 72 20 69 6e 20 74 68 65  ST appear in the
6490: 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 74   same order as t
64a0: 68 65 79 20 64 6f 20 66 6f 72 20 54 63 6c 0a 23  hey do for Tcl.#
64b0: 20 20 20 20 6f 72 20 6c 69 6e 6b 69 6e 67 20 77      or linking w
64c0: 69 74 68 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20  ith it will not 
64d0: 77 6f 72 6b 20 28 65 78 61 63 74 20 72 65 61 73  work (exact reas
64e0: 6f 6e 20 75 6e 6b 6e 6f 77 6e 29 2e 0a 23 0a 69  on unknown)..#.i
64f0: 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  fdef FOSSIL_ENAB
6500: 4c 45 5f 54 43 4c 0a 69 66 64 65 66 20 46 4f 53  LE_TCL.ifdef FOS
6510: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 53  SIL_ENABLE_TCL_S
6520: 54 55 42 53 0a 4c 49 42 20 2b 3d 20 2d 6c 6b 65  TUBS.LIB += -lke
6530: 72 6e 65 6c 33 32 20 2d 6c 77 73 32 5f 33 32 0a  rnel32 -lws2_32.
6540: 65 6c 73 65 0a 4c 49 42 20 2b 3d 20 2d 6c 6e 65  else.LIB += -lne
6550: 74 61 70 69 33 32 20 2d 6c 6b 65 72 6e 65 6c 33  tapi32 -lkernel3
6560: 32 20 2d 6c 75 73 65 72 33 32 20 2d 6c 61 64 76  2 -luser32 -ladv
6570: 61 70 69 33 32 20 2d 6c 77 73 32 5f 33 32 0a 65  api32 -lws2_32.e
6580: 6e 64 69 66 0a 65 6c 73 65 0a 4c 49 42 20 2b 3d  ndif.else.LIB +=
6590: 20 2d 6c 6b 65 72 6e 65 6c 33 32 20 2d 6c 77 73   -lkernel32 -lws
65a0: 32 5f 33 32 0a 65 6e 64 69 66 0a 0a 23 23 23 23  2_32.endif..####
65b0: 20 54 63 6c 20 73 68 65 6c 6c 20 66 6f 72 20 75   Tcl shell for u
65c0: 73 65 20 69 6e 20 72 75 6e 6e 69 6e 67 20 74 68  se in running th
65d0: 65 20 66 6f 73 73 69 6c 20 74 65 73 74 20 73 75  e fossil test su
65e0: 69 74 65 2e 20 20 54 68 69 73 20 69 73 20 6f 6e  ite.  This is on
65f0: 6c 79 0a 23 20 20 20 20 75 73 65 64 20 66 6f 72  ly.#    used for
6600: 20 74 65 73 74 69 6e 67 2e 0a 23 0a 54 43 4c 53   testing..#.TCLS
6610: 48 20 3d 20 74 63 6c 73 68 0a 0a 23 23 23 23 20  H = tclsh..#### 
6620: 4e 75 6c 6c 73 6f 66 74 20 69 6e 73 74 61 6c 6c  Nullsoft install
6630: 65 72 20 4d 61 6b 65 4e 53 49 53 20 6c 6f 63 61  er MakeNSIS loca
6640: 74 69 6f 6e 0a 23 0a 4d 41 4b 45 4e 53 49 53 20  tion.#.MAKENSIS 
6650: 3d 20 22 24 28 50 52 4f 47 52 41 4d 46 49 4c 45  = "$(PROGRAMFILE
6660: 53 29 5c 4e 53 49 53 5c 4d 61 6b 65 4e 53 49 53  S)\NSIS\MakeNSIS
6670: 2e 65 78 65 22 0a 0a 23 23 23 23 20 49 6e 6e 6f  .exe"..#### Inno
6680: 20 53 65 74 75 70 20 65 78 65 63 75 74 61 62 6c   Setup executabl
6690: 65 20 6c 6f 63 61 74 69 6f 6e 0a 23 0a 49 4e 4e  e location.#.INN
66a0: 4f 53 45 54 55 50 20 3d 20 22 24 28 50 52 4f 47  OSETUP = "$(PROG
66b0: 52 41 4d 46 49 4c 45 53 29 5c 49 6e 6e 6f 20 53  RAMFILES)\Inno S
66c0: 65 74 75 70 20 35 5c 49 53 43 43 2e 65 78 65 22  etup 5\ISCC.exe"
66d0: 0a 0a 23 23 23 23 20 49 6e 63 6c 75 64 65 20 61  ..#### Include a
66e0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66   configuration f
66f0: 69 6c 65 20 74 68 61 74 20 63 61 6e 20 6f 76 65  ile that can ove
6700: 72 72 69 64 65 20 61 6e 79 20 6f 6e 65 20 6f 66  rride any one of
6710: 20 74 68 65 73 65 20 73 65 74 74 69 6e 67 73 2e   these settings.
6720: 0a 23 0a 2d 69 6e 63 6c 75 64 65 20 63 6f 6e 66  .#.-include conf
6730: 69 67 2e 77 33 32 0a 0a 23 20 53 54 4f 50 20 48  ig.w32..# STOP H
6740: 45 52 45 0a 23 20 59 6f 75 20 73 68 6f 75 6c 64  ERE.# You should
6750: 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 63 68 61   not need to cha
6760: 6e 67 65 20 61 6e 79 74 68 69 6e 67 20 62 65 6c  nge anything bel
6770: 6f 77 20 74 68 69 73 20 6c 69 6e 65 0a 23 2d 2d  ow this line.#--
6780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
6790: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
67a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
67b0: 2d 2d 2d 2d 2d 2d 0a 58 42 43 43 20 3d 20 24 28  ------.XBCC = $(
67c0: 42 43 43 29 20 24 28 43 46 4c 41 47 53 29 0a 58  BCC) $(CFLAGS).X
67d0: 54 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 43  TCC = $(TCC) $(C
67e0: 46 4c 41 47 53 29 20 2d 49 2e 20 2d 49 24 28 53  FLAGS) -I. -I$(S
67f0: 52 43 44 49 52 29 0a 7d 0a 77 72 69 74 65 6c 6e  RCDIR).}.writeln
6800: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43   -nonewline "SRC
6810: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c   =".foreach s [l
6820: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
6830: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
6840: 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 43  e " \\\n  \$(SRC
6850: 44 49 52 29 2f 24 73 2e 63 22 0a 7d 0a 77 72 69  DIR)/$s.c".}.wri
6860: 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c  teln "\n".writel
6870: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 45 58  n -nonewline "EX
6880: 54 52 41 5f 46 49 4c 45 53 20 3d 22 0a 66 6f 72  TRA_FILES =".for
6890: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 65  each s [lsort $e
68a0: 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a 20 20  xtra_files] {.  
68b0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
68c0: 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52  ne " \\\n  \$(SR
68d0: 43 44 49 52 29 2f 24 73 22 0a 7d 0a 77 72 69 74  CDIR)/$s".}.writ
68e0: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
68f0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 54 52 41   -nonewline "TRA
6900: 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  NS_SRC =".foreac
6910: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
6920: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
6930: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20  newline " \\\n  
6940: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
6950: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .c".}.writeln "\
6960: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
6970: 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22 0a 66 6f  wline "OBJ =".fo
6980: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
6990: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
69a0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
69b0: 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  \n \$(OBJDIR)/$s
69c0: 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .o".}.writeln "\
69d0: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41 50 50 4e  n".writeln "APPN
69e0: 41 4d 45 20 20 20 20 3d 20 24 7b 6e 61 6d 65 7d  AME    = ${name}
69f0: 2e 65 78 65 22 0a 77 72 69 74 65 6c 6e 20 22 41  .exe".writeln "A
6a00: 50 50 54 41 52 47 45 54 53 20 3d 22 0a 77 72 69  PPTARGETS =".wri
6a10: 74 65 6c 6e 20 7b 0a 23 23 23 23 20 49 66 20 74  teln {.#### If t
6a20: 68 65 20 55 53 45 5f 57 49 4e 44 4f 57 53 20 76  he USE_WINDOWS v
6a30: 61 72 69 61 62 6c 65 20 65 78 69 73 74 73 2c 20  ariable exists, 
6a40: 69 74 20 69 73 20 61 73 73 75 6d 65 64 20 74 68  it is assumed th
6a50: 61 74 20 77 65 20 61 72 65 20 62 75 69 6c 64 69  at we are buildi
6a60: 6e 67 0a 23 20 20 20 20 69 6e 73 69 64 65 20 6f  ng.#    inside o
6a70: 66 20 61 20 57 69 6e 64 6f 77 73 2d 73 74 79 6c  f a Windows-styl
6a80: 65 20 73 68 65 6c 6c 3b 20 6f 74 68 65 72 77 69  e shell; otherwi
6a90: 73 65 2c 20 69 74 20 69 73 20 61 73 73 75 6d 65  se, it is assume
6aa0: 64 20 74 68 61 74 20 77 65 20 61 72 65 0a 23 20  d that we are.# 
6ab0: 20 20 20 62 75 69 6c 64 69 6e 67 20 69 6e 73 69     building insi
6ac0: 64 65 20 6f 66 20 61 20 55 6e 69 78 2d 73 74 79  de of a Unix-sty
6ad0: 6c 65 20 73 68 65 6c 6c 2e 20 20 4e 6f 74 65 20  le shell.  Note 
6ae0: 74 68 61 74 20 74 68 65 20 22 6d 6f 76 65 22 20  that the "move" 
6af0: 63 6f 6d 6d 61 6e 64 20 69 73 0a 23 20 20 20 20  command is.#    
6b00: 62 72 6f 6b 65 6e 20 77 68 65 6e 20 61 74 74 65  broken when atte
6b10: 6d 70 74 69 6e 67 20 74 6f 20 75 73 65 20 69 74  mpting to use it
6b20: 20 66 72 6f 6d 20 74 68 65 20 57 69 6e 64 6f 77   from the Window
6b30: 73 20 73 68 65 6c 6c 20 76 69 61 20 4d 69 6e 47  s shell via MinG
6b40: 57 20 6d 61 6b 65 0a 23 20 20 20 20 62 65 63 61  W make.#    beca
6b50: 75 73 65 20 74 68 65 20 53 48 45 4c 4c 20 76 61  use the SHELL va
6b60: 72 69 61 62 6c 65 20 69 73 20 6f 6e 6c 79 20 75  riable is only u
6b70: 73 65 64 20 66 6f 72 20 63 65 72 74 61 69 6e 20  sed for certain 
6b80: 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 61 72  commands that ar
6b90: 65 0a 23 20 20 20 20 72 65 63 6f 67 6e 69 7a 65  e.#    recognize
6ba0: 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 62 79 20  d internally by 
6bb0: 6d 61 6b 65 2e 0a 23 0a 69 66 64 65 66 20 55 53  make..#.ifdef US
6bc0: 45 5f 57 49 4e 44 4f 57 53 0a 54 52 41 4e 53 4c  E_WINDOWS.TRANSL
6bd0: 41 54 45 20 20 20 3d 20 24 28 73 75 62 73 74 20  ATE   = $(subst 
6be0: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 74 72  /,\,$(OBJDIR)/tr
6bf0: 61 6e 73 6c 61 74 65 2e 65 78 65 29 0a 4d 41 4b  anslate.exe).MAK
6c00: 45 48 45 41 44 45 52 53 20 3d 20 24 28 73 75 62  EHEADERS = $(sub
6c10: 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29  st /,\,$(OBJDIR)
6c20: 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 65 78 65  /makeheaders.exe
6c30: 29 0a 4d 4b 49 4e 44 45 58 20 20 20 20 20 3d 20  ).MKINDEX     = 
6c40: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42  $(subst /,\,$(OB
6c50: 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 65 78  JDIR)/mkindex.ex
6c60: 65 29 0a 4d 4b 42 55 49 4c 54 49 4e 20 20 20 3d  e).MKBUILTIN   =
6c70: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f   $(subst /,\,$(O
6c80: 42 4a 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e  BJDIR)/mkbuiltin
6c90: 2e 65 78 65 29 0a 4d 4b 56 45 52 53 49 4f 4e 20  .exe).MKVERSION 
6ca0: 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c    = $(subst /,\,
6cb0: 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73  $(OBJDIR)/mkvers
6cc0: 69 6f 6e 2e 65 78 65 29 0a 4d 4b 43 53 53 20 20  ion.exe).MKCSS  
6cd0: 20 20 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f       = $(subst /
6ce0: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63  ,\,$(OBJDIR)/mkc
6cf0: 73 73 2e 65 78 65 29 0a 43 4f 44 45 43 48 45 43  ss.exe).CODECHEC
6d00: 4b 31 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c  K1  = $(subst /,
6d10: 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65  \,$(OBJDIR)/code
6d20: 63 68 65 63 6b 31 2e 65 78 65 29 0a 43 41 54 20  check1.exe).CAT 
6d30: 20 20 20 20 20 20 20 20 3d 20 74 79 70 65 0a 43          = type.C
6d40: 50 20 20 20 20 20 20 20 20 20 20 3d 20 63 6f 70  P          = cop
6d50: 79 0a 47 52 45 50 20 20 20 20 20 20 20 20 3d 20  y.GREP        = 
6d60: 66 69 6e 64 0a 4d 56 20 20 20 20 20 20 20 20 20  find.MV         
6d70: 20 3d 20 63 6f 70 79 0a 52 4d 20 20 20 20 20 20   = copy.RM      
6d80: 20 20 20 20 3d 20 64 65 6c 20 2f 51 0a 4d 4b 44      = del /Q.MKD
6d90: 49 52 20 20 20 20 20 20 20 3d 20 2d 6d 6b 64 69  IR       = -mkdi
6da0: 72 0a 52 4d 44 49 52 20 20 20 20 20 20 20 3d 20  r.RMDIR       = 
6db0: 72 6d 64 69 72 20 2f 53 20 2f 51 0a 65 6c 73 65  rmdir /S /Q.else
6dc0: 0a 54 52 41 4e 53 4c 41 54 45 20 20 20 3d 20 24  .TRANSLATE   = $
6dd0: 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61  (OBJDIR)/transla
6de0: 74 65 2e 65 78 65 0a 4d 41 4b 45 48 45 41 44 45  te.exe.MAKEHEADE
6df0: 52 53 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d  RS = $(OBJDIR)/m
6e00: 61 6b 65 68 65 61 64 65 72 73 2e 65 78 65 0a 4d  akeheaders.exe.M
6e10: 4b 49 4e 44 45 58 20 20 20 20 20 3d 20 24 28 4f  KINDEX     = $(O
6e20: 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 65  BJDIR)/mkindex.e
6e30: 78 65 0a 4d 4b 42 55 49 4c 54 49 4e 20 20 20 3d  xe.MKBUILTIN   =
6e40: 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 75 69   $(OBJDIR)/mkbui
6e50: 6c 74 69 6e 2e 65 78 65 0a 4d 4b 56 45 52 53 49  ltin.exe.MKVERSI
6e60: 4f 4e 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29  ON   = $(OBJDIR)
6e70: 2f 6d 6b 76 65 72 73 69 6f 6e 2e 65 78 65 0a 4d  /mkversion.exe.M
6e80: 4b 43 53 53 20 20 20 20 20 20 20 3d 20 24 28 4f  KCSS       = $(O
6e90: 42 4a 44 49 52 29 2f 6d 6b 63 73 73 2e 65 78 65  BJDIR)/mkcss.exe
6ea0: 0a 43 4f 44 45 43 48 45 43 4b 31 20 20 3d 20 24  .CODECHECK1  = $
6eb0: 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 68 65  (OBJDIR)/codeche
6ec0: 63 6b 31 2e 65 78 65 0a 43 41 54 20 20 20 20 20  ck1.exe.CAT     
6ed0: 20 20 20 20 3d 20 63 61 74 0a 43 50 20 20 20 20      = cat.CP    
6ee0: 20 20 20 20 20 20 3d 20 63 70 0a 47 52 45 50 20        = cp.GREP 
6ef0: 20 20 20 20 20 20 20 3d 20 67 72 65 70 0a 4d 56         = grep.MV
6f00: 20 20 20 20 20 20 20 20 20 20 3d 20 6d 76 0a 52            = mv.R
6f10: 4d 20 20 20 20 20 20 20 20 20 20 3d 20 72 6d 20  M          = rm 
6f20: 2d 66 0a 4d 4b 44 49 52 20 20 20 20 20 20 20 3d  -f.MKDIR       =
6f30: 20 2d 6d 6b 64 69 72 20 2d 70 0a 52 4d 44 49 52   -mkdir -p.RMDIR
6f40: 20 20 20 20 20 20 20 3d 20 72 6d 20 2d 72 66 0a         = rm -rf.
6f50: 65 6e 64 69 66 7d 0a 0a 77 72 69 74 65 6c 6e 20  endif}..writeln 
6f60: 7b 0a 61 6c 6c 3a 09 24 28 4f 42 4a 44 49 52 29  {.all:.$(OBJDIR)
6f70: 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28 4f   $(APPNAME)..$(O
6f80: 42 4a 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f 3a  BJDIR)/fossil.o:
6f90: 09 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69  .$(SRCDIR)/../wi
6fa0: 6e 2f 66 6f 73 73 69 6c 2e 72 63 20 24 28 4f 42  n/fossil.rc $(OB
6fb0: 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 20  JDIR)/VERSION.h 
6fc0: 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c  $(OBJDIR)/defaul
6fd0: 74 5f 63 73 73 2e 68 0a 69 66 64 65 66 20 55 53  t_css.h.ifdef US
6fe0: 45 5f 57 49 4e 44 4f 57 53 0a 09 24 28 43 41 54  E_WINDOWS..$(CAT
6ff0: 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28  ) $(subst /,\,$(
7000: 53 52 43 44 49 52 29 5c 6d 69 6e 69 7a 2e 63 29  SRCDIR)\miniz.c)
7010: 20 7c 20 24 28 47 52 45 50 29 20 22 64 65 66 69   | $(GREP) "defi
7020: 6e 65 20 4d 5a 5f 56 45 52 53 49 4f 4e 22 20 3e  ne MZ_VERSION" >
7030: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f   $(subst /,\,$(O
7040: 42 4a 44 49 52 29 5c 6d 69 6e 69 7a 76 65 72 2e  BJDIR)\minizver.
7050: 68 29 0a 09 24 28 43 50 29 20 24 28 73 75 62 73  h)..$(CP) $(subs
7060: 74 20 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c  t /,\,$(SRCDIR)\
7070: 2e 2e 5c 77 69 6e 5c 66 6f 73 73 69 6c 2e 72 63  ..\win\fossil.rc
7080: 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28  ) $(subst /,\,$(
7090: 4f 42 4a 44 49 52 29 29 0a 09 24 28 43 50 29 20  OBJDIR))..$(CP) 
70a0: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52  $(subst /,\,$(SR
70b0: 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73  CDIR)\..\win\fos
70c0: 73 69 6c 2e 69 63 6f 29 20 24 28 73 75 62 73 74  sil.ico) $(subst
70d0: 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a   /,\,$(OBJDIR)).
70e0: 09 24 28 43 50 29 20 24 28 73 75 62 73 74 20 2f  .$(CP) $(subst /
70f0: 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c 2e 2e 5c  ,\,$(SRCDIR)\..\
7100: 77 69 6e 5c 66 6f 73 73 69 6c 2e 65 78 65 2e 6d  win\fossil.exe.m
7110: 61 6e 69 66 65 73 74 29 20 24 28 73 75 62 73 74  anifest) $(subst
7120: 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a   /,\,$(OBJDIR)).
7130: 65 6c 73 65 0a 09 24 28 43 41 54 29 20 24 28 53  else..$(CAT) $(S
7140: 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e 63 20 7c  RCDIR)/miniz.c |
7150: 20 24 28 47 52 45 50 29 20 22 64 65 66 69 6e 65   $(GREP) "define
7160: 20 4d 5a 5f 56 45 52 53 49 4f 4e 22 20 3e 20 24   MZ_VERSION" > $
7170: 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 76 65  (OBJDIR)/minizve
7180: 72 2e 68 0a 09 24 28 43 50 29 20 24 28 53 52 43  r.h..$(CP) $(SRC
7190: 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73  DIR)/../win/foss
71a0: 69 6c 2e 72 63 20 24 28 4f 42 4a 44 49 52 29 0a  il.rc $(OBJDIR).
71b0: 09 24 28 43 50 29 20 24 28 53 52 43 44 49 52 29  .$(CP) $(SRCDIR)
71c0: 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 69  /../win/fossil.i
71d0: 63 6f 20 24 28 4f 42 4a 44 49 52 29 0a 09 24 28  co $(OBJDIR)..$(
71e0: 43 50 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  CP) $(SRCDIR)/..
71f0: 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 65 78 65 2e  /win/fossil.exe.
7200: 6d 61 6e 69 66 65 73 74 20 24 28 4f 42 4a 44 49  manifest $(OBJDI
7210: 52 29 0a 65 6e 64 69 66 0a 09 24 28 52 43 43 29  R).endif..$(RCC)
7220: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69   $(OBJDIR)/fossi
7230: 6c 2e 72 63 20 2d 6f 20 24 28 4f 42 4a 44 49 52  l.rc -o $(OBJDIR
7240: 29 2f 66 6f 73 73 69 6c 2e 6f 0a 0a 69 6e 73 74  )/fossil.o..inst
7250: 61 6c 6c 3a 09 24 28 4f 42 4a 44 49 52 29 20 24  all:.$(OBJDIR) $
7260: 28 41 50 50 4e 41 4d 45 29 0a 69 66 64 65 66 20  (APPNAME).ifdef 
7270: 55 53 45 5f 57 49 4e 44 4f 57 53 0a 09 24 28 4d  USE_WINDOWS..$(M
7280: 4b 44 49 52 29 20 24 28 73 75 62 73 74 20 2f 2c  KDIR) $(subst /,
7290: 5c 2c 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 29  \,$(INSTALLDIR))
72a0: 0a 09 24 28 4d 56 29 20 24 28 73 75 62 73 74 20  ..$(MV) $(subst 
72b0: 2f 2c 5c 2c 24 28 41 50 50 4e 41 4d 45 29 29 20  /,\,$(APPNAME)) 
72c0: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 49 4e  $(subst /,\,$(IN
72d0: 53 54 41 4c 4c 44 49 52 29 29 0a 65 6c 73 65 0a  STALLDIR)).else.
72e0: 09 24 28 4d 4b 44 49 52 29 20 24 28 49 4e 53 54  .$(MKDIR) $(INST
72f0: 41 4c 4c 44 49 52 29 0a 09 24 28 4d 56 29 20 24  ALLDIR)..$(MV) $
7300: 28 41 50 50 4e 41 4d 45 29 20 24 28 49 4e 53 54  (APPNAME) $(INST
7310: 41 4c 4c 44 49 52 29 0a 65 6e 64 69 66 0a 0a 24  ALLDIR).endif..$
7320: 28 4f 42 4a 44 49 52 29 3a 0a 69 66 64 65 66 20  (OBJDIR):.ifdef 
7330: 55 53 45 5f 57 49 4e 44 4f 57 53 0a 09 24 28 4d  USE_WINDOWS..$(M
7340: 4b 44 49 52 29 20 24 28 73 75 62 73 74 20 2f 2c  KDIR) $(subst /,
7350: 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 65 6c 73  \,$(OBJDIR)).els
7360: 65 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 4f 42  e..$(MKDIR) $(OB
7370: 4a 44 49 52 29 0a 65 6e 64 69 66 0a 0a 24 28 54  JDIR).endif..$(T
7380: 52 41 4e 53 4c 41 54 45 29 3a 09 24 28 53 52 43  RANSLATE):.$(SRC
7390: 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63  DIR)/translate.c
73a0: 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20  ..$(XBCC) -o $@ 
73b0: 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73 6c  $(SRCDIR)/transl
73c0: 61 74 65 2e 63 0a 0a 24 28 4d 41 4b 45 48 45 41  ate.c..$(MAKEHEA
73d0: 44 45 52 53 29 3a 09 24 28 53 52 43 44 49 52 29  DERS):.$(SRCDIR)
73e0: 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 09  /makeheaders.c..
73f0: 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28  $(XBCC) -o $@ $(
7400: 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 64  SRCDIR)/makehead
7410: 65 72 73 2e 63 0a 0a 24 28 4d 4b 49 4e 44 45 58  ers.c..$(MKINDEX
7420: 29 3a 09 24 28 53 52 43 44 49 52 29 2f 6d 6b 69  ):.$(SRCDIR)/mki
7430: 6e 64 65 78 2e 63 0a 09 24 28 58 42 43 43 29 20  ndex.c..$(XBCC) 
7440: 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29 2f  -o $@ $(SRCDIR)/
7450: 6d 6b 69 6e 64 65 78 2e 63 0a 0a 24 28 4d 4b 42  mkindex.c..$(MKB
7460: 55 49 4c 54 49 4e 29 3a 09 24 28 53 52 43 44 49  UILTIN):.$(SRCDI
7470: 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09  R)/mkbuiltin.c..
7480: 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28  $(XBCC) -o $@ $(
7490: 53 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69  SRCDIR)/mkbuilti
74a0: 6e 2e 63 0a 0a 24 28 4d 4b 56 45 52 53 49 4f 4e  n.c..$(MKVERSION
74b0: 29 3a 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 76  ): $(SRCDIR)/mkv
74c0: 65 72 73 69 6f 6e 2e 63 0a 09 24 28 58 42 43 43  ersion.c..$(XBCC
74d0: 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52  ) -o $@ $(SRCDIR
74e0: 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 0a 24  )/mkversion.c..$
74f0: 28 4d 4b 43 53 53 29 3a 20 24 28 53 52 43 44 49  (MKCSS): $(SRCDI
7500: 52 29 2f 6d 6b 63 73 73 2e 63 0a 09 24 28 58 42  R)/mkcss.c..$(XB
7510: 43 43 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44  CC) -o $@ $(SRCD
7520: 49 52 29 2f 6d 6b 63 73 73 2e 63 0a 0a 24 28 43  IR)/mkcss.c..$(C
7530: 4f 44 45 43 48 45 43 4b 31 29 3a 09 24 28 53 52  ODECHECK1):.$(SR
7540: 43 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31  CDIR)/codecheck1
7550: 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24  .c..$(XBCC) -o $
7560: 40 20 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65  @ $(SRCDIR)/code
7570: 63 68 65 63 6b 31 2e 63 0a 0a 23 20 57 41 52 4e  check1.c..# WARN
7580: 49 4e 47 2e 20 44 41 4e 47 45 52 2e 20 52 75 6e  ING. DANGER. Run
7590: 6e 69 6e 67 20 74 68 65 20 74 65 73 74 20 73 75  ning the test su
75a0: 69 74 65 20 6d 6f 64 69 66 69 65 73 20 74 68 65  ite modifies the
75b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 65 0a   repository the.
75c0: 23 20 62 75 69 6c 64 20 69 73 20 64 6f 6e 65 20  # build is done 
75d0: 66 72 6f 6d 2c 20 69 2e 65 2e 20 74 68 65 20 63  from, i.e. the c
75e0: 68 65 63 6b 6f 75 74 20 62 65 6c 6f 6e 67 73 20  heckout belongs 
75f0: 74 6f 2e 20 44 6f 20 6e 6f 74 20 73 79 6e 63 2f  to. Do not sync/
7600: 70 75 73 68 0a 23 20 74 68 65 20 72 65 70 6f 73  push.# the repos
7610: 69 74 6f 72 79 20 61 66 74 65 72 20 72 75 6e 6e  itory after runn
7620: 69 6e 67 20 74 68 65 20 74 65 73 74 73 2e 0a 74  ing the tests..t
7630: 65 73 74 3a 09 24 28 4f 42 4a 44 49 52 29 20 24  est:.$(OBJDIR) $
7640: 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 54 43 4c  (APPNAME)..$(TCL
7650: 53 48 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  SH) $(SRCDIR)/..
7660: 2f 74 65 73 74 2f 74 65 73 74 65 72 2e 74 63 6c  /test/tester.tcl
7670: 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28 4f   $(APPNAME)..$(O
7680: 42 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68  BJDIR)/VERSION.h
7690: 3a 09 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d  :.$(SRCDIR)/../m
76a0: 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 28 53  anifest.uuid $(S
76b0: 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65  RCDIR)/../manife
76c0: 73 74 20 24 28 4d 4b 56 45 52 53 49 4f 4e 29 0a  st $(MKVERSION).
76d0: 09 24 28 4d 4b 56 45 52 53 49 4f 4e 29 20 24 28  .$(MKVERSION) $(
76e0: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66  SRCDIR)/../manif
76f0: 65 73 74 2e 75 75 69 64 20 24 28 53 52 43 44 49  est.uuid $(SRCDI
7700: 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 24  R)/../manifest $
7710: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52 53  (SRCDIR)/../VERS
7720: 49 4f 4e 20 3e 24 40 0a 0a 24 28 4f 42 4a 44 49  ION >$@..$(OBJDI
7730: 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68  R)/default_css.h
7740: 3a 09 24 28 53 52 43 44 49 52 29 2f 64 65 66 61  :.$(SRCDIR)/defa
7750: 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 28 4d 4b  ult_css.txt $(MK
7760: 43 53 53 29 0a 09 24 28 4d 4b 43 53 53 29 20 24  CSS)..$(MKCSS) $
7770: 28 53 52 43 44 49 52 29 2f 64 65 66 61 75 6c 74  (SRCDIR)/default
7780: 5f 63 73 73 2e 74 78 74 20 24 40 0a 0a 23 20 54  _css.txt $@..# T
7790: 68 65 20 55 53 45 5f 53 59 53 54 45 4d 5f 53 51  he USE_SYSTEM_SQ
77a0: 4c 49 54 45 20 76 61 72 69 61 62 6c 65 20 6d 61  LITE variable ma
77b0: 79 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20  y be undefined, 
77c0: 73 65 74 20 74 6f 20 30 2c 20 6f 72 20 73 65 74  set to 0, or set
77d0: 0a 23 20 74 6f 20 31 2e 20 49 66 20 69 74 20 69  .# to 1. If it i
77e0: 73 20 73 65 74 20 74 6f 20 31 2c 20 74 68 65 6e  s set to 1, then
77f0: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65   there is no nee
7800: 64 20 74 6f 20 62 75 69 6c 64 20 6f 72 20 6c 69  d to build or li
7810: 6e 6b 0a 23 20 74 68 65 20 73 71 6c 69 74 65 33  nk.# the sqlite3
7820: 2e 6f 20 6f 62 6a 65 63 74 2e 20 49 6e 73 74 65  .o object. Inste
7830: 61 64 2c 20 74 68 65 20 73 79 73 74 65 6d 20 53  ad, the system S
7840: 51 4c 69 74 65 20 77 69 6c 6c 20 62 65 20 6c 69  QLite will be li
7850: 6e 6b 65 64 0a 23 20 75 73 69 6e 67 20 2d 6c 73  nked.# using -ls
7860: 71 6c 69 74 65 33 2e 0a 53 51 4c 49 54 45 33 5f  qlite3..SQLITE3_
7870: 4f 42 4a 2e 30 20 3d 20 24 28 4f 42 4a 44 49 52  OBJ.0 = $(OBJDIR
7880: 29 2f 73 71 6c 69 74 65 33 2e 6f 0a 53 51 4c 49  )/sqlite3.o.SQLI
7890: 54 45 33 5f 4f 42 4a 2e 31 20 3d 0a 53 51 4c 49  TE3_OBJ.1 =.SQLI
78a0: 54 45 33 5f 4f 42 4a 2e 20 20 3d 20 24 28 53 51  TE3_OBJ.  = $(SQ
78b0: 4c 49 54 45 33 5f 4f 42 4a 2e 30 29 0a 0a 23 20  LITE3_OBJ.0)..# 
78c0: 54 68 65 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  The FOSSIL_ENABL
78d0: 45 5f 4d 49 4e 49 5a 20 76 61 72 69 61 62 6c 65  E_MINIZ variable
78e0: 20 6d 61 79 20 62 65 20 75 6e 64 65 66 69 6e 65   may be undefine
78f0: 64 2c 20 73 65 74 20 74 6f 20 30 2c 20 6f 72 0a  d, set to 0, or.
7900: 23 20 73 65 74 20 74 6f 20 31 2e 20 20 49 66 20  # set to 1.  If 
7910: 69 74 20 69 73 20 73 65 74 20 74 6f 20 31 2c 20  it is set to 1, 
7920: 74 68 65 20 6d 69 6e 69 7a 20 6c 69 62 72 61 72  the miniz librar
7930: 79 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68  y included in th
7940: 65 0a 23 20 73 6f 75 72 63 65 20 74 72 65 65 20  e.# source tree 
7950: 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 3b 20  should be used; 
7960: 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20 73 68  otherwise, it sh
7970: 6f 75 6c 64 20 6e 6f 74 2e 0a 4d 49 4e 49 5a 5f  ould not..MINIZ_
7980: 4f 42 4a 2e 30 20 3d 0a 4d 49 4e 49 5a 5f 4f 42  OBJ.0 =.MINIZ_OB
7990: 4a 2e 31 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f  J.1 = $(OBJDIR)/
79a0: 6d 69 6e 69 7a 2e 6f 0a 4d 49 4e 49 5a 5f 4f 42  miniz.o.MINIZ_OB
79b0: 4a 2e 20 20 3d 20 24 28 4d 49 4e 49 5a 5f 4f 42  J.  = $(MINIZ_OB
79c0: 4a 2e 30 29 0a 0a 23 20 54 68 65 20 55 53 45 5f  J.0)..# The USE_
79d0: 53 45 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79  SEE variable may
79e0: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 30   be undefined, 0
79f0: 20 6f 72 20 31 2e 20 20 49 66 20 75 6e 64 65 66   or 1.  If undef
7a00: 69 6e 65 64 20 6f 72 0a 23 20 30 2c 20 6f 72 64  ined or.# 0, ord
7a10: 69 6e 61 72 79 20 53 51 4c 69 74 65 20 69 73 20  inary SQLite is 
7a20: 75 73 65 64 2e 20 20 49 66 20 31 2c 20 74 68 65  used.  If 1, the
7a30: 6e 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 20  n sqlite3-see.c 
7a40: 28 6e 6f 74 20 70 61 72 74 20 6f 66 0a 23 20 74  (not part of.# t
7a50: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 20  he source tree) 
7a60: 69 73 20 75 73 65 64 20 61 6e 64 20 65 78 74 72  is used and extr
7a70: 61 20 66 6c 61 67 73 20 61 72 65 20 70 72 6f 76  a flags are prov
7a80: 69 64 65 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23  ided to enable.#
7a90: 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 72   the SQLite Encr
7aa0: 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e  yption Extension
7ab0: 2e 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 30 20  ..SQLITE3_SRC.0 
7ac0: 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49  = sqlite3.c.SQLI
7ad0: 54 45 33 5f 53 52 43 2e 31 20 3d 20 73 71 6c 69  TE3_SRC.1 = sqli
7ae0: 74 65 33 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45  te3-see.c.SQLITE
7af0: 33 5f 53 52 43 2e 20 3d 20 73 71 6c 69 74 65 33  3_SRC. = sqlite3
7b00: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d  .c.SQLITE3_SRC =
7b10: 20 24 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c   $(SRCDIR)/$(SQL
7b20: 49 54 45 33 5f 53 52 43 2e 24 28 55 53 45 5f 53  ITE3_SRC.$(USE_S
7b30: 45 45 29 29 0a 53 51 4c 49 54 45 33 5f 53 48 45  EE)).SQLITE3_SHE
7b40: 4c 4c 5f 53 52 43 2e 30 20 3d 20 73 68 65 6c 6c  LL_SRC.0 = shell
7b50: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c  .c.SQLITE3_SHELL
7b60: 5f 53 52 43 2e 31 20 3d 20 73 68 65 6c 6c 2d 73  _SRC.1 = shell-s
7b70: 65 65 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45  ee.c.SQLITE3_SHE
7b80: 4c 4c 5f 53 52 43 2e 20 3d 20 73 68 65 6c 6c 2e  LL_SRC. = shell.
7b90: 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  c.SQLITE3_SHELL_
7ba0: 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 2f  SRC = $(SRCDIR)/
7bb0: 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  $(SQLITE3_SHELL_
7bc0: 53 52 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a  SRC.$(USE_SEE)).
7bd0: 53 45 45 5f 46 4c 41 47 53 2e 30 20 3d 0a 53 45  SEE_FLAGS.0 =.SE
7be0: 45 5f 46 4c 41 47 53 2e 31 20 3d 20 2d 44 53 51  E_FLAGS.1 = -DSQ
7bf0: 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 20 2d  LITE_HAS_CODEC -
7c00: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44 42  DSQLITE_SHELL_DB
7c10: 4b 45 59 5f 50 52 4f 43 3d 66 6f 73 73 69 6c 5f  KEY_PROC=fossil_
7c20: 6b 65 79 0a 53 45 45 5f 46 4c 41 47 53 2e 20 3d  key.SEE_FLAGS. =
7c30: 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20 24 28 53  .SEE_FLAGS = $(S
7c40: 45 45 5f 46 4c 41 47 53 2e 24 28 55 53 45 5f 53  EE_FLAGS.$(USE_S
7c50: 45 45 29 29 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20  EE)).}..writeln 
7c60: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
7c70: 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e  t <<<NEXT_LINE>>
7c80: 3e 20 5c 5c 5d 20 7b 0a 45 58 54 52 41 4f 42 4a  > \\] {.EXTRAOBJ
7c90: 20 3d 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e   = <<<NEXT_LINE>
7ca0: 3e 3e 0a 20 24 28 53 51 4c 49 54 45 33 5f 4f 42  >>. $(SQLITE3_OB
7cb0: 4a 2e 24 28 55 53 45 5f 53 59 53 54 45 4d 5f 53  J.$(USE_SYSTEM_S
7cc0: 51 4c 49 54 45 29 29 20 3c 3c 3c 4e 45 58 54 5f  QLITE)) <<<NEXT_
7cd0: 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4d 49 4e 49 5a  LINE>>>. $(MINIZ
7ce0: 5f 4f 42 4a 2e 24 28 46 4f 53 53 49 4c 5f 45 4e  _OBJ.$(FOSSIL_EN
7cf0: 41 42 4c 45 5f 4d 49 4e 49 5a 29 29 20 3c 3c 3c  ABLE_MINIZ)) <<<
7d00: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28  NEXT_LINE>>>. $(
7d10: 4f 42 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 20  OBJDIR)/shell.o 
7d20: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a  <<<NEXT_LINE>>>.
7d30: 20 24 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 20   $(OBJDIR)/th.o 
7d40: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a  <<<NEXT_LINE>>>.
7d50: 20 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f 6c 61   $(OBJDIR)/th_la
7d60: 6e 67 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e  ng.o <<<NEXT_LIN
7d70: 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f  E>>>. $(OBJDIR)/
7d80: 74 68 5f 74 63 6c 2e 6f 20 3c 3c 3c 4e 45 58 54  th_tcl.o <<<NEXT
7d90: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44  _LINE>>>. $(OBJD
7da0: 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d  IR)/cson_amalgam
7db0: 61 74 69 6f 6e 2e 6f 0a 7d 5d 0a 0a 77 72 69 74  ation.o.}]..writ
7dc0: 65 6c 6e 20 7b 0a 24 28 5a 4c 49 42 44 49 52 29  eln {.$(ZLIBDIR)
7dd0: 2f 69 6e 66 66 61 73 38 36 2e 6f 3a 0a 09 24 28  /inffas86.o:..$(
7de0: 54 43 43 29 20 2d 63 20 2d 6f 20 24 40 20 2d 44  TCC) -c -o $@ -D
7df0: 41 53 4d 49 4e 46 20 2d 49 24 28 5a 4c 49 42 44  ASMINF -I$(ZLIBD
7e00: 49 52 29 20 2d 4f 33 20 24 28 5a 4c 49 42 44 49  IR) -O3 $(ZLIBDI
7e10: 52 29 2f 63 6f 6e 74 72 69 62 2f 69 6e 66 6c 61  R)/contrib/infla
7e20: 74 65 38 36 2f 69 6e 66 66 61 73 38 36 2e 63 0a  te86/inffas86.c.
7e30: 0a 24 28 5a 4c 49 42 44 49 52 29 2f 6d 61 74 63  .$(ZLIBDIR)/matc
7e40: 68 2e 6f 3a 0a 09 24 28 54 43 43 29 20 2d 63 20  h.o:..$(TCC) -c 
7e50: 2d 6f 20 24 40 20 2d 44 41 53 4d 56 20 24 28 5a  -o $@ -DASMV $(Z
7e60: 4c 49 42 44 49 52 29 2f 63 6f 6e 74 72 69 62 2f  LIBDIR)/contrib/
7e70: 61 73 6d 36 38 36 2f 6d 61 74 63 68 2e 53 0a 0a  asm686/match.S..
7e80: 7a 6c 69 62 3a 09 24 28 5a 4c 49 42 54 41 52 47  zlib:.$(ZLIBTARG
7e90: 45 54 53 29 0a 09 24 28 4d 41 4b 45 29 20 2d 43  ETS)..$(MAKE) -C
7ea0: 20 24 28 5a 4c 49 42 44 49 52 29 20 50 52 45 46   $(ZLIBDIR) PREF
7eb0: 49 58 3d 24 28 50 52 45 46 49 58 29 20 43 43 3d  IX=$(PREFIX) CC=
7ec0: 24 28 50 52 45 46 49 58 29 24 28 54 43 43 45 58  $(PREFIX)$(TCCEX
7ed0: 45 29 20 24 28 5a 4c 49 42 43 4f 4e 46 49 47 29  E) $(ZLIBCONFIG)
7ee0: 20 2d 66 20 77 69 6e 33 32 2f 4d 61 6b 65 66 69   -f win32/Makefi
7ef0: 6c 65 2e 67 63 63 20 6c 69 62 7a 2e 61 0a 0a 63  le.gcc libz.a..c
7f00: 6c 65 61 6e 2d 7a 6c 69 62 3a 0a 09 24 28 4d 41  lean-zlib:..$(MA
7f10: 4b 45 29 20 2d 43 20 24 28 5a 4c 49 42 44 49 52  KE) -C $(ZLIBDIR
7f20: 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49  ) PREFIX=$(PREFI
7f30: 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24  X) CC=$(PREFIX)$
7f40: 28 54 43 43 45 58 45 29 20 2d 66 20 77 69 6e 33  (TCCEXE) -f win3
7f50: 32 2f 4d 61 6b 65 66 69 6c 65 2e 67 63 63 20 63  2/Makefile.gcc c
7f60: 6c 65 61 6e 0a 0a 69 66 64 65 66 20 46 4f 53 53  lean..ifdef FOSS
7f70: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a  IL_ENABLE_MINIZ.
7f80: 42 4c 44 54 41 52 47 45 54 53 20 3d 0a 65 6c 73  BLDTARGETS =.els
7f90: 65 0a 42 4c 44 54 41 52 47 45 54 53 20 3d 20 7a  e.BLDTARGETS = z
7fa0: 6c 69 62 0a 65 6e 64 69 66 0a 0a 6f 70 65 6e 73  lib.endif..opens
7fb0: 73 6c 3a 09 24 28 42 4c 44 54 41 52 47 45 54 53  sl:.$(BLDTARGETS
7fc0: 29 0a 09 63 64 20 24 28 4f 50 45 4e 53 53 4c 4c  )..cd $(OPENSSLL
7fd0: 49 42 44 49 52 29 3b 2e 2f 43 6f 6e 66 69 67 75  IBDIR);./Configu
7fe0: 72 65 20 2d 2d 63 72 6f 73 73 2d 63 6f 6d 70 69  re --cross-compi
7ff0: 6c 65 2d 70 72 65 66 69 78 3d 24 28 50 52 45 46  le-prefix=$(PREF
8000: 49 58 29 20 24 28 53 53 4c 43 4f 4e 46 49 47 29  IX) $(SSLCONFIG)
8010: 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 4f  ..$(MAKE) -C $(O
8020: 50 45 4e 53 53 4c 4c 49 42 44 49 52 29 20 50 52  PENSSLLIBDIR) PR
8030: 45 46 49 58 3d 24 28 50 52 45 46 49 58 29 20 43  EFIX=$(PREFIX) C
8040: 43 3d 24 28 50 52 45 46 49 58 29 24 28 54 43 43  C=$(PREFIX)$(TCC
8050: 45 58 45 29 20 62 75 69 6c 64 5f 6c 69 62 73 0a  EXE) build_libs.
8060: 0a 63 6c 65 61 6e 2d 6f 70 65 6e 73 73 6c 3a 0a  .clean-openssl:.
8070: 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 4f 50  .$(MAKE) -C $(OP
8080: 45 4e 53 53 4c 4c 49 42 44 49 52 29 20 50 52 45  ENSSLLIBDIR) PRE
8090: 46 49 58 3d 24 28 50 52 45 46 49 58 29 20 43 43  FIX=$(PREFIX) CC
80a0: 3d 24 28 50 52 45 46 49 58 29 24 28 54 43 43 45  =$(PREFIX)$(TCCE
80b0: 58 45 29 20 63 6c 65 61 6e 0a 0a 74 63 6c 3a 0a  XE) clean..tcl:.
80c0: 09 63 64 20 24 28 54 43 4c 53 52 43 44 49 52 29  .cd $(TCLSRCDIR)
80d0: 2f 77 69 6e 3b 2e 2f 63 6f 6e 66 69 67 75 72 65  /win;./configure
80e0: 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 54  ..$(MAKE) -C $(T
80f0: 43 4c 53 52 43 44 49 52 29 2f 77 69 6e 20 50 52  CLSRCDIR)/win PR
8100: 45 46 49 58 3d 24 28 50 52 45 46 49 58 29 20 43  EFIX=$(PREFIX) C
8110: 43 3d 24 28 50 52 45 46 49 58 29 24 28 54 43 43  C=$(PREFIX)$(TCC
8120: 45 58 45 29 20 24 28 54 43 4c 54 41 52 47 45 54  EXE) $(TCLTARGET
8130: 29 0a 0a 63 6c 65 61 6e 2d 74 63 6c 3a 0a 09 24  )..clean-tcl:..$
8140: 28 4d 41 4b 45 29 20 2d 43 20 24 28 54 43 4c 53  (MAKE) -C $(TCLS
8150: 52 43 44 49 52 29 2f 77 69 6e 20 50 52 45 46 49  RCDIR)/win PREFI
8160: 58 3d 24 28 50 52 45 46 49 58 29 20 43 43 3d 24  X=$(PREFIX) CC=$
8170: 28 50 52 45 46 49 58 29 24 28 54 43 43 45 58 45  (PREFIX)$(TCCEXE
8180: 29 20 64 69 73 74 63 6c 65 61 6e 0a 0a 41 50 50  ) distclean..APP
8190: 54 41 52 47 45 54 53 20 2b 3d 20 24 28 42 4c 44  TARGETS += $(BLD
81a0: 54 41 52 47 45 54 53 29 0a 0a 69 66 64 65 66 20  TARGETS)..ifdef 
81b0: 46 4f 53 53 49 4c 5f 42 55 49 4c 44 5f 53 53 4c  FOSSIL_BUILD_SSL
81c0: 0a 41 50 50 54 41 52 47 45 54 53 20 2b 3d 20 6f  .APPTARGETS += o
81d0: 70 65 6e 73 73 6c 0a 65 6e 64 69 66 0a 0a 24 28  penssl.endif..$(
81e0: 41 50 50 4e 41 4d 45 29 3a 09 24 28 41 50 50 54  APPNAME):.$(APPT
81f0: 41 52 47 45 54 53 29 20 24 28 4f 42 4a 44 49 52  ARGETS) $(OBJDIR
8200: 29 2f 68 65 61 64 65 72 73 20 24 28 43 4f 44 45  )/headers $(CODE
8210: 43 48 45 43 4b 31 29 20 24 28 4f 42 4a 29 20 24  CHECK1) $(OBJ) $
8220: 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4f 42 4a  (EXTRAOBJ) $(OBJ
8230: 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f 0a 09 24  DIR)/fossil.o..$
8240: 28 43 4f 44 45 43 48 45 43 4b 31 29 20 24 28 54  (CODECHECK1) $(T
8250: 52 41 4e 53 5f 53 52 43 29 0a 09 24 28 54 43 43  RANS_SRC)..$(TCC
8260: 29 20 2d 6f 20 24 40 20 24 28 4f 42 4a 29 20 24  ) -o $@ $(OBJ) $
8270: 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4f 42 4a  (EXTRAOBJ) $(OBJ
8280: 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f 20 24 28  DIR)/fossil.o $(
8290: 4c 49 42 29 0a 0a 23 20 54 68 69 73 20 72 75 6c  LIB)..# This rul
82a0: 65 20 70 72 65 76 65 6e 74 73 20 6d 61 6b 65 20  e prevents make 
82b0: 66 72 6f 6d 20 75 73 69 6e 67 20 69 74 73 20 64  from using its d
82c0: 65 66 61 75 6c 74 20 72 75 6c 65 73 20 74 6f 20  efault rules to 
82d0: 74 72 79 20 62 75 69 6c 64 0a 23 20 61 6e 20 65  try build.# an e
82e0: 78 65 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 20  xecutable named 
82f0: 22 6d 61 6e 69 66 65 73 74 22 20 6f 75 74 20 6f  "manifest" out o
8300: 66 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64  f the file named
8310: 20 22 6d 61 6e 69 66 65 73 74 2e 63 22 0a 23 0a   "manifest.c".#.
8320: 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e  $(SRCDIR)/../man
8330: 69 66 65 73 74 3a 0a 09 23 20 6e 6f 6f 70 0a 0a  ifest:..# noop..
8340: 63 6c 65 61 6e 3a 0a 69 66 64 65 66 20 55 53 45  clean:.ifdef USE
8350: 5f 57 49 4e 44 4f 57 53 0a 09 24 28 52 4d 29 20  _WINDOWS..$(RM) 
8360: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 41 50  $(subst /,\,$(AP
8370: 50 4e 41 4d 45 29 29 0a 09 24 28 52 4d 44 49 52  PNAME))..$(RMDIR
8380: 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28  ) $(subst /,\,$(
8390: 4f 42 4a 44 49 52 29 29 0a 65 6c 73 65 0a 09 24  OBJDIR)).else..$
83a0: 28 52 4d 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  (RM) $(APPNAME).
83b0: 09 24 28 52 4d 44 49 52 29 20 24 28 4f 42 4a 44  .$(RMDIR) $(OBJD
83c0: 49 52 29 0a 65 6e 64 69 66 0a 0a 73 65 74 75 70  IR).endif..setup
83d0: 3a 20 24 28 4f 42 4a 44 49 52 29 20 24 28 41 50  : $(OBJDIR) $(AP
83e0: 50 4e 41 4d 45 29 0a 09 24 28 4d 41 4b 45 4e 53  PNAME)..$(MAKENS
83f0: 49 53 29 20 2e 2f 73 65 74 75 70 2f 66 6f 73 73  IS) ./setup/foss
8400: 69 6c 2e 6e 73 69 0a 0a 69 6e 6e 6f 73 65 74 75  il.nsi..innosetu
8410: 70 3a 20 24 28 4f 42 4a 44 49 52 29 20 24 28 41  p: $(OBJDIR) $(A
8420: 50 50 4e 41 4d 45 29 0a 09 24 28 49 4e 4e 4f 53  PPNAME)..$(INNOS
8430: 45 54 55 50 29 20 2e 2f 73 65 74 75 70 2f 66 6f  ETUP) ./setup/fo
8440: 73 73 69 6c 2e 69 73 73 20 2d 44 41 70 70 56 65  ssil.iss -DAppVe
8450: 72 73 69 6f 6e 3d 24 28 73 68 65 6c 6c 20 24 28  rsion=$(shell $(
8460: 43 41 54 29 20 2e 2f 56 45 52 53 49 4f 4e 29 0a  CAT) ./VERSION).
8470: 7d 0a 0a 73 65 74 20 6d 68 61 72 67 73 20 7b 7d  }..set mhargs {}
8480: 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72  .foreach s [lsor
8490: 74 20 24 73 72 63 5d 20 7b 0a 20 20 69 66 20 7b  t $src] {.  if {
84a0: 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24  [string length $
84b0: 6d 68 61 72 67 73 5d 20 3e 20 30 7d 20 7b 61 70  mhargs] > 0} {ap
84c0: 70 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c  pend mhargs " \\
84d0: 5c 6e 5c 74 5c 74 22 7d 0a 20 20 61 70 70 65 6e  \n\t\t"}.  appen
84e0: 64 20 6d 68 61 72 67 73 20 22 5c 24 28 4f 42 4a  d mhargs "\$(OBJ
84f0: 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 24 28  DIR)/${s}_.c:\$(
8500: 4f 42 4a 44 49 52 29 2f 24 73 2e 68 22 0a 20 20  OBJDIR)/$s.h".  
8510: 73 65 74 20 65 78 74 72 61 5f 68 28 24 73 29 20  set extra_h($s) 
8520: 7b 20 7d 0a 7d 0a 61 70 70 65 6e 64 20 6d 68 61  { }.}.append mha
8530: 72 67 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24  rgs " \\\n\t\t\$
8540: 28 53 52 43 44 49 52 29 2f 73 71 6c 69 74 65 33  (SRCDIR)/sqlite3
8550: 2e 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67  .h".append mharg
8560: 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24 28 53  s " \\\n\t\t\$(S
8570: 52 43 44 49 52 29 2f 74 68 2e 68 22 0a 61 70 70  RCDIR)/th.h".app
8580: 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c  end mhargs " \\\
8590: 6e 5c 74 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f  n\t\t\$(OBJDIR)/
85a0: 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 65  VERSION.h".write
85b0: 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 70  ln "\$(OBJDIR)/p
85c0: 61 67 65 5f 69 6e 64 65 78 2e 68 3a 20 5c 24 28  age_index.h: \$(
85d0: 54 52 41 4e 53 5f 53 52 43 29 20 5c 24 28 4d 4b  TRANS_SRC) \$(MK
85e0: 49 4e 44 45 58 29 22 0a 77 72 69 74 65 6c 6e 20  INDEX)".writeln 
85f0: 22 5c 74 5c 24 28 4d 4b 49 4e 44 45 58 29 20 5c  "\t\$(MKINDEX) \
8600: 24 28 54 52 41 4e 53 5f 53 52 43 29 20 3e 5c 24  $(TRANS_SRC) >\$
8610: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c  @\n"..writeln "\
8620: 24 28 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69  $(OBJDIR)/builti
8630: 6e 5f 64 61 74 61 2e 68 3a 5c 74 5c 24 28 4d 4b  n_data.h:\t\$(MK
8640: 42 55 49 4c 54 49 4e 29 20 5c 24 28 45 58 54 52  BUILTIN) \$(EXTR
8650: 41 5f 46 49 4c 45 53 29 22 0a 77 72 69 74 65 6c  A_FILES)".writel
8660: 6e 20 22 5c 74 5c 24 28 4d 4b 42 55 49 4c 54 49  n "\t\$(MKBUILTI
8670: 4e 29 20 2d 2d 70 72 65 66 69 78 20 5c 24 28 53  N) --prefix \$(S
8680: 52 43 44 49 52 29 2f 20 5c 24 28 45 58 54 52 41  RCDIR)/ \$(EXTRA
8690: 5f 46 49 4c 45 53 29 20 3e 5c 24 40 5c 6e 22 0a  _FILES) >\$@\n".
86a0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ
86b0: 44 49 52 29 2f 68 65 61 64 65 72 73 3a 5c 74 5c  DIR)/headers:\t\
86c0: 24 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69  $(OBJDIR)/page_i
86d0: 6e 64 65 78 2e 68 20 5c 24 28 4f 42 4a 44 49 52  ndex.h \$(OBJDIR
86e0: 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68  )/builtin_data.h
86f0: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61   \$(OBJDIR)/defa
8700: 75 6c 74 5f 63 73 73 2e 68 20 5c 24 28 4d 41 4b  ult_css.h \$(MAK
8710: 45 48 45 41 44 45 52 53 29 20 5c 24 28 4f 42 4a  EHEADERS) \$(OBJ
8720: 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 22 0a  DIR)/VERSION.h".
8730: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 41  writeln "\t\$(MA
8740: 4b 45 48 45 41 44 45 52 53 29 20 24 6d 68 61 72  KEHEADERS) $mhar
8750: 67 73 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 65  gs".writeln "\te
8760: 63 68 6f 20 44 6f 6e 65 20 3e 5c 24 28 4f 42 4a  cho Done >\$(OBJ
8770: 44 49 52 29 2f 68 65 61 64 65 72 73 5c 6e 22 0a  DIR)/headers\n".
8780: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44  writeln "\$(OBJD
8790: 49 52 29 2f 68 65 61 64 65 72 73 3a 20 4d 61 6b  IR)/headers: Mak
87a0: 65 66 69 6c 65 5c 6e 22 0a 77 72 69 74 65 6c 6e  efile\n".writeln
87b0: 20 22 4d 61 6b 65 66 69 6c 65 3a 5c 6e 22 0a 73   "Makefile:\n".s
87c0: 65 74 20 65 78 74 72 61 5f 68 28 6d 61 69 6e 29  et extra_h(main)
87d0: 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 70 61   " \$(OBJDIR)/pa
87e0: 67 65 5f 69 6e 64 65 78 2e 68 20 22 0a 73 65 74  ge_index.h ".set
87f0: 20 65 78 74 72 61 5f 68 28 62 75 69 6c 74 69 6e   extra_h(builtin
8800: 29 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 62  ) " \$(OBJDIR)/b
8810: 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 22 0a  uiltin_data.h ".
8820: 73 65 74 20 65 78 74 72 61 5f 68 28 73 74 79 6c  set extra_h(styl
8830: 65 29 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f  e) " \$(OBJDIR)/
8840: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 22 0a  default_css.h ".
8850: 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72  .foreach s [lsor
8860: 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74  t $src] {.  writ
8870: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
8880: 24 7b 73 7d 5f 2e 63 3a 5c 74 5c 24 28 53 52 43  ${s}_.c:\t\$(SRC
8890: 44 49 52 29 2f 24 73 2e 63 20 5c 24 28 54 52 41  DIR)/$s.c \$(TRA
88a0: 4e 53 4c 41 54 45 29 22 0a 20 20 77 72 69 74 65  NSLATE)".  write
88b0: 6c 6e 20 22 5c 74 5c 24 28 54 52 41 4e 53 4c 41  ln "\t\$(TRANSLA
88c0: 54 45 29 20 5c 24 28 53 52 43 44 49 52 29 2f 24  TE) \$(SRCDIR)/$
88d0: 73 2e 63 20 3e 5c 24 40 5c 6e 22 0a 20 20 77 72  s.c >\$@\n".  wr
88e0: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
88f0: 29 2f 24 73 2e 6f 3a 5c 74 5c 24 28 4f 42 4a 44  )/$s.o:\t\$(OBJD
8900: 49 52 29 2f 24 7b 73 7d 5f 2e 63 20 5c 24 28 4f  IR)/${s}_.c \$(O
8910: 42 4a 44 49 52 29 2f 24 73 2e 68 24 65 78 74 72  BJDIR)/$s.h$extr
8920: 61 5f 68 28 24 73 29 5c 24 28 53 52 43 44 49 52  a_h($s)\$(SRCDIR
8930: 29 2f 63 6f 6e 66 69 67 2e 68 22 0a 20 20 77 72  )/config.h".  wr
8940: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43  iteln "\t\$(XTCC
8950: 29 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ) -o \$(OBJDIR)/
8960: 24 73 2e 6f 20 2d 63 20 5c 24 28 4f 42 4a 44 49  $s.o -c \$(OBJDI
8970: 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20  R)/${s}_.c\n".  
8980: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44  writeln "\$(OBJD
8990: 49 52 29 2f 24 7b 73 7d 2e 68 3a 5c 74 5c 24 28  IR)/${s}.h:\t\$(
89a0: 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 5c  OBJDIR)/headers\
89b0: 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 7b 4d  n".}..writeln {M
89c0: 49 4e 47 57 5f 4f 50 54 49 4f 4e 53 20 3d 20 2d  INGW_OPTIONS = -
89d0: 44 5f 48 41 56 45 5f 5f 4d 49 4e 47 57 5f 48 0a  D_HAVE__MINGW_H.
89e0: 7d 0a 0a 73 65 74 20 53 51 4c 49 54 45 5f 57 49  }..set SQLITE_WI
89f0: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 24 53 51 4c  N32_OPTIONS $SQL
8a00: 49 54 45 5f 4f 50 54 49 4f 4e 53 0a 6c 61 70 70  ITE_OPTIONS.lapp
8a10: 65 6e 64 20 53 51 4c 49 54 45 5f 57 49 4e 33 32  end SQLITE_WIN32
8a20: 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54  _OPTIONS -DSQLIT
8a30: 45 5f 57 49 4e 33 32 5f 4e 4f 5f 41 4e 53 49 0a  E_WIN32_NO_ANSI.
8a40: 0a 73 65 74 20 4d 49 4e 47 57 5f 53 51 4c 49 54  .set MINGW_SQLIT
8a50: 45 5f 4f 50 54 49 4f 4e 53 20 24 53 51 4c 49 54  E_OPTIONS $SQLIT
8a60: 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 0a  E_WIN32_OPTIONS.
8a70: 6c 61 70 70 65 6e 64 20 4d 49 4e 47 57 5f 53 51  lappend MINGW_SQ
8a80: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 24 28  LITE_OPTIONS {$(
8a90: 4d 49 4e 47 57 5f 4f 50 54 49 4f 4e 53 29 7d 0a  MINGW_OPTIONS)}.
8aa0: 6c 61 70 70 65 6e 64 20 4d 49 4e 47 57 5f 53 51  lappend MINGW_SQ
8ab0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53  LITE_OPTIONS -DS
8ac0: 51 4c 49 54 45 5f 55 53 45 5f 4d 41 4c 4c 4f 43  QLITE_USE_MALLOC
8ad0: 5f 48 0a 6c 61 70 70 65 6e 64 20 4d 49 4e 47 57  _H.lappend MINGW
8ae0: 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20  _SQLITE_OPTIONS 
8af0: 2d 44 53 51 4c 49 54 45 5f 55 53 45 5f 4d 53 49  -DSQLITE_USE_MSI
8b00: 5a 45 0a 0a 73 65 74 20 4d 49 4e 49 5a 5f 57 49  ZE..set MINIZ_WI
8b10: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 24 4d 49 4e  N32_OPTIONS $MIN
8b20: 49 5a 5f 4f 50 54 49 4f 4e 53 0a 0a 73 65 74 20  IZ_OPTIONS..set 
8b30: 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20  j " \\\n        
8b40: 20 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65           ".write
8b50: 6c 6e 20 22 53 51 4c 49 54 45 5f 4f 50 54 49 4f  ln "SQLITE_OPTIO
8b60: 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 4d 49 4e 47  NS = [join $MING
8b70: 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53  W_SQLITE_OPTIONS
8b80: 20 24 6a 5d 5c 6e 22 0a 73 65 74 20 6a 20 22 20   $j]\n".set j " 
8b90: 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20  \\\n            
8ba0: 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 53      ".writeln "S
8bb0: 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b  HELL_OPTIONS = [
8bc0: 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e 33  join $SHELL_WIN3
8bd0: 32 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22  2_OPTIONS $j]\n"
8be0: 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20  .set j " \\\n   
8bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 0a 77               ".w
8c00: 72 69 74 65 6c 6e 20 22 4d 49 4e 49 5a 5f 4f 50  riteln "MINIZ_OP
8c10: 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 4d  TIONS = [join $M
8c20: 49 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f  INIZ_WIN32_OPTIO
8c30: 4e 53 20 24 6a 5d 5c 6e 22 0a 0a 77 72 69 74 65  NS $j]\n"..write
8c40: 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73  ln "\$(OBJDIR)/s
8c50: 71 6c 69 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 51  qlite3.o:\t\$(SQ
8c60: 4c 49 54 45 33 5f 53 52 43 29 20 5c 24 28 53 52  LITE3_SRC) \$(SR
8c70: 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 4d 61 6b  CDIR)/../win/Mak
8c80: 65 66 69 6c 65 2e 6d 69 6e 67 77 22 0a 77 72 69  efile.mingw".wri
8c90: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC)
8ca0: 20 5c 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f   \$(SQLITE_OPTIO
8cb0: 4e 53 29 20 5c 24 28 53 51 4c 49 54 45 5f 43 46  NS) \$(SQLITE_CF
8cc0: 4c 41 47 53 29 20 5c 24 28 53 45 45 5f 46 4c 41  LAGS) \$(SEE_FLA
8cd0: 47 53 29 20 5c 5c 22 0a 77 72 69 74 65 6c 6e 20  GS) \\".writeln 
8ce0: 22 5c 74 5c 74 2d 63 20 5c 24 28 53 51 4c 49 54  "\t\t-c \$(SQLIT
8cf0: 45 33 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c 6e  E3_SRC) -o \$@\n
8d00: 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  "..writeln "\$(O
8d10: 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c  BJDIR)/cson_amal
8d20: 67 61 6d 61 74 69 6f 6e 2e 6f 3a 5c 74 5c 24 28  gamation.o:\t\$(
8d30: 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61  SRCDIR)/cson_ama
8d40: 6c 67 61 6d 61 74 69 6f 6e 2e 63 22 0a 77 72 69  lgamation.c".wri
8d50: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC)
8d60: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 63   -c \$(SRCDIR)/c
8d70: 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  son_amalgamation
8d80: 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 77 72 69  .c -o \$@\n".wri
8d90: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
8da0: 2f 6a 73 6f 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49  /json.o \$(OBJDI
8db0: 52 29 2f 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  R)/json_artifact
8dc0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
8dd0: 6f 6e 5f 62 72 61 6e 63 68 2e 6f 20 5c 24 28 4f  on_branch.o \$(O
8de0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 63 6f 6e 66  BJDIR)/json_conf
8df0: 69 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ig.o \$(OBJDIR)/
8e00: 6a 73 6f 6e 5f 64 69 66 66 2e 6f 20 5c 24 28 4f  json_diff.o \$(O
8e10: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 72 2e  BJDIR)/json_dir.
8e20: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8e30: 73 5f 66 69 6e 66 6f 2e 6f 20 5c 24 28 4f 42 4a  s_finfo.o \$(OBJ
8e40: 44 49 52 29 2f 6a 73 6f 6e 5f 6c 6f 67 69 6e 2e  DIR)/json_login.
8e50: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8e60: 6e 5f 71 75 65 72 79 2e 6f 20 5c 24 28 4f 42 4a  n_query.o \$(OBJ
8e70: 44 49 52 29 2f 6a 73 6f 6e 5f 72 65 70 6f 72 74  DIR)/json_report
8e80: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
8e90: 6f 6e 5f 73 74 61 74 75 73 2e 6f 20 5c 24 28 4f  on_status.o \$(O
8ea0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 74 61 67 2e  BJDIR)/json_tag.
8eb0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso
8ec0: 6e 5f 74 69 6d 65 6c 69 6e 65 2e 6f 20 5c 24 28  n_timeline.o \$(
8ed0: 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 75 73 65  OBJDIR)/json_use
8ee0: 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a  r.o \$(OBJDIR)/j
8ef0: 73 6f 6e 5f 77 69 6b 69 2e 6f 20 3a 20 5c 24 28  son_wiki.o : \$(
8f00: 53 52 43 44 49 52 29 2f 6a 73 6f 6e 5f 64 65 74  SRCDIR)/json_det
8f10: 61 69 6c 2e 68 5c 6e 22 0a 0a 77 72 69 74 65 6c  ail.h\n"..writel
8f20: 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73 68  n "\$(OBJDIR)/sh
8f30: 65 6c 6c 2e 6f 3a 5c 74 5c 24 28 53 51 4c 49 54  ell.o:\t\$(SQLIT
8f40: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 20 5c 24  E3_SHELL_SRC) \$
8f50: 28 53 52 43 44 49 52 29 2f 73 71 6c 69 74 65 33  (SRCDIR)/sqlite3
8f60: 2e 68 20 5c 24 28 53 52 43 44 49 52 29 2f 2e 2e  .h \$(SRCDIR)/..
8f70: 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69  /win/Makefile.mi
8f80: 6e 67 77 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  ngw".writeln "\t
8f90: 5c 24 28 58 54 43 43 29 20 5c 24 28 53 48 45 4c  \$(XTCC) \$(SHEL
8fa0: 4c 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 53 48  L_OPTIONS) \$(SH
8fb0: 45 4c 4c 5f 43 46 4c 41 47 53 29 20 5c 24 28 53  ELL_CFLAGS) \$(S
8fc0: 45 45 5f 46 4c 41 47 53 29 20 2d 63 20 5c 24 28  EE_FLAGS) -c \$(
8fd0: 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52  SQLITE3_SHELL_SR
8fe0: 43 29 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72  C) -o \$@\n"..wr
8ff0: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
9000: 29 2f 74 68 2e 6f 3a 5c 74 5c 24 28 53 52 43 44  )/th.o:\t\$(SRCD
9010: 49 52 29 2f 74 68 2e 63 22 0a 77 72 69 74 65 6c  IR)/th.c".writel
9020: 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63  n "\t\$(XTCC) -c
9030: 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63   \$(SRCDIR)/th.c
9040: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ
9050: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
9060: 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c 24 28 53  th_lang.o:\t\$(S
9070: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63  RCDIR)/th_lang.c
9080: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28  ".writeln "\t\$(
9090: 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44  XTCC) -c \$(SRCD
90a0: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 20 2d 6f  IR)/th_lang.c -o
90b0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e   \$@\n"..writeln
90c0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f   "\$(OBJDIR)/th_
90d0: 74 63 6c 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49  tcl.o:\t\$(SRCDI
90e0: 52 29 2f 74 68 5f 74 63 6c 2e 63 22 0a 77 72 69  R)/th_tcl.c".wri
90f0: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC)
9100: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74   -c \$(SRCDIR)/t
9110: 68 5f 74 63 6c 2e 63 20 2d 6f 20 5c 24 40 5c 6e  h_tcl.c -o \$@\n
9120: 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  "..writeln "\$(O
9130: 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 3a 5c  BJDIR)/miniz.o:\
9140: 74 5c 24 28 53 52 43 44 49 52 29 2f 6d 69 6e 69  t\$(SRCDIR)/mini
9150: 7a 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  z.c".writeln "\t
9160: 5c 24 28 58 54 43 43 29 20 5c 24 28 4d 49 4e 49  \$(XTCC) \$(MINI
9170: 5a 5f 4f 50 54 49 4f 4e 53 29 20 2d 63 20 5c 24  Z_OPTIONS) -c \$
9180: 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e 63  (SRCDIR)/miniz.c
9190: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 63 6c 6f 73   -o \$@\n"..clos
91a0: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23  e $output_file.#
91b0: 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20 77 69  .# End of the wi
91c0: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e 67 77  n/Makefile.mingw
91d0: 20 6f 75 74 70 75 74 0a 23 23 23 23 23 23 23 23   output.########
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 23 23 23 23 23  ################
9220: 23 23 23 23 23 23 0a 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 23 23 23 23 23 23  ################
9270: 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
9280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
92a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
92b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
92c0: 23 23 23 23 0a 23 20 42 65 67 69 6e 20 77 69 6e  ####.# Begin win
92d0: 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 6f 75  /Makefile.dmc ou
92e0: 74 70 75 74 0a 23 0a 70 75 74 73 20 22 62 75 69  tput.#.puts "bui
92f0: 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b  lding ../win/Mak
9300: 65 66 69 6c 65 2e 64 6d 63 22 0a 73 65 74 20 6f  efile.dmc".set o
9310: 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e  utput_file [open
9320: 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65   ../win/Makefile
9330: 2e 64 6d 63 20 77 5d 0a 66 63 6f 6e 66 69 67 75  .dmc w].fconfigu
9340: 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20  re $output_file 
9350: 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e  -translation bin
9360: 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 0a  ary..writeln {#.
9370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
93c0: 20 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54   WARNING: DO NOT
93d0: 20 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43   EDIT, AUTOMATIC
93e0: 41 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46  ALLY GENERATED F
93f0: 49 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61  ILE (SEE "src/ma
9400: 6b 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23  kemake.tcl").###
9410: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9420: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9430: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9440: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9450: 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23 20  ###########.#.# 
9460: 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74  This file is aut
9470: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
9480: 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 6f  ated.  Instead o
9490: 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a 23  f editing this.#
94a0: 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b   file, edit "mak
94b0: 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20  emake.tcl" then 
94c0: 72 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65 6d  run "tclsh makem
94d0: 61 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72 65  ake.tcl".# to re
94e0: 67 65 6e 65 72 61 74 65 20 74 68 69 73 20 66 69  generate this fi
94f0: 6c 65 2e 0a 23 0a 42 20 20 20 20 20 20 3d 20 2e  le..#.B      = .
9500: 2e 0a 53 52 43 44 49 52 20 3d 20 24 42 5c 73 72  ..SRCDIR = $B\sr
9510: 63 0a 4f 42 4a 44 49 52 20 3d 20 2e 0a 4f 20 20  c.OBJDIR = ..O  
9520: 20 20 20 20 3d 20 2e 6f 62 6a 0a 45 20 20 20 20      = .obj.E    
9530: 20 20 3d 20 2e 65 78 65 0a 0a 0a 23 20 4d 61 79    = .exe...# May
9540: 62 65 20 44 4d 44 49 52 2c 20 53 53 4c 20 6f 72  be DMDIR, SSL or
9550: 20 49 4e 43 4c 20 6e 65 65 64 73 20 61 64 6a 75   INCL needs adju
9560: 73 74 6d 65 6e 74 0a 44 4d 44 49 52 20 20 3d 20  stment.DMDIR  = 
9570: 63 3a 5c 44 4d 0a 49 4e 43 4c 20 20 20 3d 20 2d  c:\DM.INCL   = -
9580: 49 2e 20 2d 49 24 28 53 52 43 44 49 52 29 20 2d  I. -I$(SRCDIR) -
9590: 49 24 42 5c 77 69 6e 5c 69 6e 63 6c 75 64 65 20  I$B\win\include 
95a0: 2d 49 24 28 44 4d 44 49 52 29 5c 65 78 74 72 61  -I$(DMDIR)\extra
95b0: 5c 69 6e 63 6c 75 64 65 0a 0a 23 53 53 4c 20 20  \include..#SSL  
95c0: 20 3d 20 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   =  -DFOSSIL_ENA
95d0: 42 4c 45 5f 53 53 4c 3d 31 0a 53 53 4c 20 20 20  BLE_SSL=1.SSL   
95e0: 20 3d 0a 0a 43 46 4c 41 47 53 20 3d 20 2d 6f 0a   =..CFLAGS = -o.
95f0: 42 43 43 20 20 20 20 3d 20 24 28 44 4d 44 49 52  BCC    = $(DMDIR
9600: 29 5c 62 69 6e 5c 64 6d 63 20 24 28 43 46 4c 41  )\bin\dmc $(CFLA
9610: 47 53 29 0a 54 43 43 20 20 20 20 3d 20 24 28 44  GS).TCC    = $(D
9620: 4d 44 49 52 29 5c 62 69 6e 5c 64 6d 63 20 24 28  MDIR)\bin\dmc $(
9630: 43 46 4c 41 47 53 29 20 24 28 44 4d 43 44 45 46  CFLAGS) $(DMCDEF
9640: 29 20 24 28 53 53 4c 29 20 24 28 49 4e 43 4c 29  ) $(SSL) $(INCL)
9650: 0a 4c 49 42 53 20 20 20 3d 20 24 28 44 4d 44 49  .LIBS   = $(DMDI
9660: 52 29 5c 65 78 74 72 61 5c 6c 69 62 5c 20 7a 6c  R)\extra\lib\ zl
9670: 69 62 20 77 73 6f 63 6b 33 32 20 61 64 76 61 70  ib wsock32 advap
9680: 69 33 32 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 53  i32.}.writeln "S
9690: 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d 20  QLITE_OPTIONS = 
96a0: 5b 6a 6f 69 6e 20 24 53 51 4c 49 54 45 5f 4f 50  [join $SQLITE_OP
96b0: 54 49 4f 4e 53 20 7b 20 7d 5d 5c 6e 22 0a 77 72  TIONS { }]\n".wr
96c0: 69 74 65 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50 54  iteln "SHELL_OPT
96d0: 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 48  IONS = [join $SH
96e0: 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ELL_WIN32_OPTION
96f0: 53 20 7b 20 7d 5d 5c 6e 22 0a 77 72 69 74 65 6c  S { }]\n".writel
9700: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52  n -nonewline "SR
9710: 43 20 20 20 3d 22 0a 66 6f 72 65 61 63 68 20 73  C   =".foreach s
9720: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
9730: 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77    writeln -nonew
9740: 6c 69 6e 65 20 22 20 24 7b 73 7d 5f 2e 63 22 0a  line " ${s}_.c".
9750: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77  }.writeln "\n".w
9760: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
9770: 65 20 22 4f 42 4a 20 20 20 3d 20 22 0a 66 6f 72  e "OBJ   = ".for
9780: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
9790: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
97a0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 24 28 4f  -nonewline "\$(O
97b0: 42 4a 44 49 52 29 5c 5c 24 73 5c 24 4f 20 22 0a  BJDIR)\\$s\$O ".
97c0: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  }.writeln "\$(OB
97d0: 4a 44 49 52 29 5c 5c 73 68 65 6c 6c 5c 24 4f 20  JDIR)\\shell\$O 
97e0: 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 73 71 6c 69  \$(OBJDIR)\\sqli
97f0: 74 65 33 5c 24 4f 20 5c 24 28 4f 42 4a 44 49 52  te3\$O \$(OBJDIR
9800: 29 5c 5c 74 68 5c 24 4f 20 5c 24 28 4f 42 4a 44  )\\th\$O \$(OBJD
9810: 49 52 29 5c 5c 74 68 5f 6c 61 6e 67 5c 24 4f 22  IR)\\th_lang\$O"
9820: 0a 77 72 69 74 65 6c 6e 20 7b 0a 0a 52 43 3d 24  .writeln {..RC=$
9830: 28 44 4d 44 49 52 29 5c 62 69 6e 5c 72 63 63 0a  (DMDIR)\bin\rcc.
9840: 52 43 46 4c 41 47 53 3d 2d 33 32 20 2d 77 31 20  RCFLAGS=-32 -w1 
9850: 2d 49 24 28 53 52 43 44 49 52 29 20 2f 44 5f 5f  -I$(SRCDIR) /D__
9860: 44 4d 43 5f 5f 0a 0a 41 50 50 4e 41 4d 45 20 3d  DMC__..APPNAME =
9870: 20 24 28 4f 42 4a 44 49 52 29 5c 66 6f 73 73 69   $(OBJDIR)\fossi
9880: 6c 24 28 45 29 0a 0a 61 6c 6c 3a 20 24 28 41 50  l$(E)..all: $(AP
9890: 50 4e 41 4d 45 29 0a 0a 24 28 41 50 50 4e 41 4d  PNAME)..$(APPNAM
98a0: 45 29 20 3a 20 74 72 61 6e 73 6c 61 74 65 24 45  E) : translate$E
98b0: 20 6d 6b 69 6e 64 65 78 24 45 20 63 6f 64 65 63   mkindex$E codec
98c0: 68 65 63 6b 31 24 45 20 68 65 61 64 65 72 73 20  heck1$E headers 
98d0: 20 24 28 4f 42 4a 29 20 24 28 4f 42 4a 44 49 52   $(OBJ) $(OBJDIR
98e0: 29 5c 6c 69 6e 6b 0a 09 63 64 20 24 28 4f 42 4a  )\link..cd $(OBJ
98f0: 44 49 52 29 0a 09 63 6f 64 65 63 68 65 63 6b 31  DIR)..codecheck1
9900: 24 45 20 24 28 53 52 43 29 0a 09 24 28 44 4d 44  $E $(SRC)..$(DMD
9910: 49 52 29 5c 62 69 6e 5c 6c 69 6e 6b 20 40 6c 69  IR)\bin\link @li
9920: 6e 6b 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 66 6f  nk..$(OBJDIR)\fo
9930: 73 73 69 6c 2e 72 65 73 3a 09 24 42 5c 77 69 6e  ssil.res:.$B\win
9940: 5c 66 6f 73 73 69 6c 2e 72 63 0a 09 24 28 52 43  \fossil.rc..$(RC
9950: 29 20 24 28 52 43 46 4c 41 47 53 29 20 2d 6f 24  ) $(RCFLAGS) -o$
9960: 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29  @ $**..$(OBJDIR)
9970: 5c 6c 69 6e 6b 3a 20 24 42 5c 77 69 6e 5c 4d 61  \link: $B\win\Ma
9980: 6b 65 66 69 6c 65 2e 64 6d 63 20 24 28 4f 42 4a  kefile.dmc $(OBJ
9990: 44 49 52 29 5c 66 6f 73 73 69 6c 2e 72 65 73 7d  DIR)\fossil.res}
99a0: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
99b0: 69 6e 65 20 22 5c 74 2b 65 63 68 6f 20 22 0a 66  ine "\t+echo ".f
99c0: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort 
99d0: 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c  $src] {.  writel
99e0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 73  n -nonewline "$s
99f0: 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 73 68   ".}.writeln "sh
9a00: 65 6c 6c 20 73 71 6c 69 74 65 33 20 74 68 20 74  ell sqlite3 th t
9a10: 68 5f 6c 61 6e 67 20 3e 20 5c 24 40 22 0a 77 72  h_lang > \$@".wr
9a20: 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f 20 66  iteln "\t+echo f
9a30: 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a 77 72  ossil >> \$@".wr
9a40: 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f 20 66  iteln "\t+echo f
9a50: 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a 77 72  ossil >> \$@".wr
9a60: 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f 20 5c  iteln "\t+echo \
9a70: 24 28 4c 49 42 53 29 20 3e 3e 20 5c 24 40 22 0a  $(LIBS) >> \$@".
9a80: 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f  writeln "\t+echo
9a90: 2e 20 3e 3e 20 5c 24 40 22 0a 77 72 69 74 65 6c  . >> \$@".writel
9aa0: 6e 20 22 5c 74 2b 65 63 68 6f 20 66 6f 73 73 69  n "\t+echo fossi
9ab0: 6c 20 3e 3e 20 5c 24 40 22 0a 0a 77 72 69 74 65  l >> \$@"..write
9ac0: 6c 6e 20 7b 0a 74 72 61 6e 73 6c 61 74 65 24 45  ln {.translate$E
9ad0: 3a 20 24 28 53 52 43 44 49 52 29 5c 74 72 61 6e  : $(SRCDIR)\tran
9ae0: 73 6c 61 74 65 2e 63 0a 09 24 28 42 43 43 29 20  slate.c..$(BCC) 
9af0: 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 61 6b 65 68 65  -o$@ $**..makehe
9b00: 61 64 65 72 73 24 45 3a 20 24 28 53 52 43 44 49  aders$E: $(SRCDI
9b10: 52 29 5c 6d 61 6b 65 68 65 61 64 65 72 73 2e 63  R)\makeheaders.c
9b20: 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a  ..$(BCC) -o$@ $*
9b30: 2a 0a 0a 6d 6b 69 6e 64 65 78 24 45 3a 20 24 28  *..mkindex$E: $(
9b40: 53 52 43 44 49 52 29 5c 6d 6b 69 6e 64 65 78 2e  SRCDIR)\mkindex.
9b50: 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24  c..$(BCC) -o$@ $
9b60: 2a 2a 0a 0a 6d 6b 62 75 69 6c 74 69 6e 24 45 3a  **..mkbuiltin$E:
9b70: 20 24 28 53 52 43 44 49 52 29 5c 6d 6b 62 75 69   $(SRCDIR)\mkbui
9b80: 6c 74 69 6e 2e 63 0a 09 24 28 42 43 43 29 20 2d  ltin.c..$(BCC) -
9b90: 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 76 65 72 73 69  o$@ $**..mkversi
9ba0: 6f 6e 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  on$E: $(SRCDIR)\
9bb0: 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09 24 28 42  mkversion.c..$(B
9bc0: 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b  CC) -o$@ $**..mk
9bd0: 63 73 73 24 45 3a 20 24 28 53 52 43 44 49 52 29  css$E: $(SRCDIR)
9be0: 5c 6d 6b 63 73 73 2e 63 0a 09 24 28 42 43 43 29  \mkcss.c..$(BCC)
9bf0: 20 2d 6f 24 40 20 24 2a 2a 0a 0a 63 6f 64 65 63   -o$@ $**..codec
9c00: 68 65 63 6b 31 24 45 3a 20 24 28 53 52 43 44 49  heck1$E: $(SRCDI
9c10: 52 29 5c 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a  R)\codecheck1.c.
9c20: 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a  .$(BCC) -o$@ $**
9c30: 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 73 68 65 6c  ..$(OBJDIR)\shel
9c40: 6c 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  l$O : $(SRCDIR)\
9c50: 73 68 65 6c 6c 2e 63 0a 09 24 28 54 43 43 29 20  shell.c..$(TCC) 
9c60: 2d 6f 24 40 20 2d 63 20 24 28 53 48 45 4c 4c 5f  -o$@ -c $(SHELL_
9c70: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54  OPTIONS) $(SQLIT
9c80: 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 48 45  E_OPTIONS) $(SHE
9c90: 4c 4c 5f 43 46 4c 41 47 53 29 20 24 2a 2a 0a 0a  LL_CFLAGS) $**..
9ca0: 24 28 4f 42 4a 44 49 52 29 5c 73 71 6c 69 74 65  $(OBJDIR)\sqlite
9cb0: 33 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  3$O : $(SRCDIR)\
9cc0: 73 71 6c 69 74 65 33 2e 63 0a 09 24 28 54 43 43  sqlite3.c..$(TCC
9cd0: 29 20 2d 6f 24 40 20 2d 63 20 24 28 53 51 4c 49  ) -o$@ -c $(SQLI
9ce0: 54 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 51  TE_OPTIONS) $(SQ
9cf0: 4c 49 54 45 5f 43 46 4c 41 47 53 29 20 24 2a 2a  LITE_CFLAGS) $**
9d00: 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 74 68 24 4f  ..$(OBJDIR)\th$O
9d10: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 2e   : $(SRCDIR)\th.
9d20: 63 0a 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d  c..$(TCC) -o$@ -
9d30: 63 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29  c $**..$(OBJDIR)
9d40: 5c 74 68 5f 6c 61 6e 67 24 4f 20 3a 20 24 28 53  \th_lang$O : $(S
9d50: 52 43 44 49 52 29 5c 74 68 5f 6c 61 6e 67 2e 63  RCDIR)\th_lang.c
9d60: 0a 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63  ..$(TCC) -o$@ -c
9d70: 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29 5c   $**..$(OBJDIR)\
9d80: 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f  cson_amalgamatio
9d90: 6e 2e 68 20 3a 20 24 28 53 52 43 44 49 52 29 5c  n.h : $(SRCDIR)\
9da0: 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f  cson_amalgamatio
9db0: 6e 2e 68 0a 09 63 70 20 24 40 20 24 40 0a 0a 56  n.h..cp $@ $@..V
9dc0: 45 52 53 49 4f 4e 2e 68 20 3a 20 6d 6b 76 65 72  ERSION.h : mkver
9dd0: 73 69 6f 6e 24 45 20 24 42 5c 6d 61 6e 69 66 65  sion$E $B\manife
9de0: 73 74 2e 75 75 69 64 20 24 42 5c 6d 61 6e 69 66  st.uuid $B\manif
9df0: 65 73 74 20 24 42 5c 56 45 52 53 49 4f 4e 0a 09  est $B\VERSION..
9e00: 2b 24 2a 2a 20 3e 20 24 40 0a 0a 64 65 66 61 75  +$** > $@..defau
9e10: 6c 74 5f 63 73 73 2e 68 20 3a 20 6d 6b 63 73 73  lt_css.h : mkcss
9e20: 24 45 20 24 42 5c 73 72 63 5c 64 65 66 61 75 6c  $E $B\src\defaul
9e30: 74 5f 63 73 73 2e 74 78 74 0a 09 2b 24 2a 2a 20  t_css.txt..+$** 
9e40: 24 42 5c 73 72 63 5c 64 65 66 61 75 6c 74 5f 63  $B\src\default_c
9e50: 73 73 2e 74 78 74 20 24 40 0a 0a 70 61 67 65 5f  ss.txt $@..page_
9e60: 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e 64 65 78  index.h: mkindex
9e70: 24 45 20 24 28 53 52 43 29 0a 09 2b 24 2a 2a 20  $E $(SRC)..+$** 
9e80: 3e 20 24 40 0a 0a 62 75 69 6c 74 69 6e 5f 64 61  > $@..builtin_da
9e90: 74 61 2e 68 3a 09 6d 6b 62 75 69 6c 74 69 6e 24  ta.h:.mkbuiltin$
9ea0: 45 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29  E $(EXTRA_FILES)
9eb0: 0a 09 6d 6b 62 75 69 6c 74 69 6e 24 45 20 2d 2d  ..mkbuiltin$E --
9ec0: 70 72 65 66 69 78 20 24 28 53 52 43 44 49 52 29  prefix $(SRCDIR)
9ed0: 2f 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29  / $(EXTRA_FILES)
9ee0: 20 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a 09 2d   > $@..clean:..-
9ef0: 64 65 6c 20 24 28 4f 42 4a 44 49 52 29 5c 2a 2e  del $(OBJDIR)\*.
9f00: 6f 62 6a 0a 09 2d 64 65 6c 20 2a 2e 6f 62 6a 20  obj..-del *.obj 
9f10: 2a 5f 2e 63 20 2a 2e 68 20 2a 2e 6d 61 70 0a 0a  *_.c *.h *.map..
9f20: 72 65 61 6c 63 6c 65 61 6e 3a 0a 09 2d 64 65 6c  realclean:..-del
9f30: 20 24 28 41 50 50 4e 41 4d 45 29 20 74 72 61 6e   $(APPNAME) tran
9f40: 73 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65 78 24  slate$E mkindex$
9f50: 45 20 6d 61 6b 65 68 65 61 64 65 72 73 24 45 20  E makeheaders$E 
9f60: 6d 6b 76 65 72 73 69 6f 6e 24 45 20 63 6f 64 65  mkversion$E code
9f70: 63 68 65 63 6b 31 24 45 20 6d 6b 62 75 69 6c 74  check1$E mkbuilt
9f80: 69 6e 24 45 20 6d 6b 63 73 73 24 45 0a 0a 24 28  in$E mkcss$E..$(
9f90: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 24 4f 20 3a  OBJDIR)\json$O :
9fa0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
9fb0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
9fc0: 52 29 5c 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  R)\json_artifact
9fd0: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O : $(SRCDIR)\j
9fe0: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O
9ff0: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 62 72 61 6e  BJDIR)\json_bran
a000: 63 68 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  ch$O : $(SRCDIR)
a010: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
a020: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 63 6f  (OBJDIR)\json_co
a030: 6e 66 69 67 24 4f 20 3a 20 24 28 53 52 43 44 49  nfig$O : $(SRCDI
a040: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
a050: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
a060: 64 69 66 66 24 4f 20 3a 20 24 28 53 52 43 44 49  diff$O : $(SRCDI
a070: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
a080: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
a090: 64 69 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52  dir$O : $(SRCDIR
a0a0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a0b0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 66  $(OBJDIR)\json_f
a0c0: 69 6e 66 6f 24 4f 20 3a 20 24 28 53 52 43 44 49  info$O : $(SRCDI
a0d0: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
a0e0: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
a0f0: 6c 6f 67 69 6e 24 4f 20 3a 20 24 28 53 52 43 44  login$O : $(SRCD
a100: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
a110: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
a120: 5f 71 75 65 72 79 24 4f 20 3a 20 24 28 53 52 43  _query$O : $(SRC
a130: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
a140: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
a150: 6e 5f 72 65 70 6f 72 74 24 4f 20 3a 20 24 28 53  n_report$O : $(S
a160: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
a170: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j
a180: 73 6f 6e 5f 73 74 61 74 75 73 24 4f 20 3a 20 24  son_status$O : $
a190: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
a1a0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
a1b0: 5c 6a 73 6f 6e 5f 74 61 67 24 4f 20 3a 20 24 28  \json_tag$O : $(
a1c0: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74  SRCDIR)\json_det
a1d0: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c  ail.h.$(OBJDIR)\
a1e0: 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65 24 4f 20  json_timeline$O 
a1f0: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a200: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
a210: 49 52 29 5c 6a 73 6f 6e 5f 75 73 65 72 24 4f 20  IR)\json_user$O 
a220: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a230: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
a240: 49 52 29 5c 6a 73 6f 6e 5f 77 69 6b 69 24 4f 20  IR)\json_wiki$O 
a250: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a260: 5f 64 65 74 61 69 6c 2e 68 0a 0a 0a 7d 0a 66 6f  _detail.h...}.fo
a270: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
a280: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
a290: 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73   "\$(OBJDIR)\\$s
a2a0: 5c 24 4f 20 3a 20 24 7b 73 7d 5f 2e 63 20 24 7b  \$O : ${s}_.c ${
a2b0: 73 7d 2e 68 22 0a 20 20 77 72 69 74 65 6c 6e 20  s}.h".  writeln 
a2c0: 22 5c 74 5c 24 28 54 43 43 29 20 2d 6f 5c 24 40  "\t\$(TCC) -o\$@
a2d0: 20 2d 63 20 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20   -c ${s}_.c\n". 
a2e0: 20 77 72 69 74 65 6c 6e 20 22 24 7b 73 7d 5f 2e   writeln "${s}_.
a2f0: 63 20 3a 20 5c 24 28 53 52 43 44 49 52 29 5c 5c  c : \$(SRCDIR)\\
a300: 24 73 2e 63 22 0a 20 20 77 72 69 74 65 6c 6e 20  $s.c".  writeln 
a310: 22 5c 74 2b 74 72 61 6e 73 6c 61 74 65 5c 24 45  "\t+translate\$E
a320: 20 5c 24 2a 2a 20 3e 20 5c 24 40 5c 6e 22 0a 7d   \$** > \$@\n".}
a330: 0a 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  ..writeln -nonew
a340: 6c 69 6e 65 20 22 68 65 61 64 65 72 73 3a 20 6d  line "headers: m
a350: 61 6b 65 68 65 61 64 65 72 73 5c 24 45 20 70 61  akeheaders\$E pa
a360: 67 65 5f 69 6e 64 65 78 2e 68 20 62 75 69 6c 74  ge_index.h built
a370: 69 6e 5f 64 61 74 61 2e 68 20 64 65 66 61 75 6c  in_data.h defaul
a380: 74 5f 63 73 73 2e 68 20 56 45 52 53 49 4f 4e 2e  t_css.h VERSION.
a390: 68 5c 6e 5c 74 20 2b 6d 61 6b 65 68 65 61 64 65  h\n\t +makeheade
a3a0: 72 73 5c 24 45 20 22 0a 66 6f 72 65 61 63 68 20  rs\$E ".foreach 
a3b0: 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b  s [lsort $src] {
a3c0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
a3d0: 77 6c 69 6e 65 20 22 24 7b 73 7d 5f 2e 63 3a 24  wline "${s}_.c:$
a3e0: 73 2e 68 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  s.h ".}.writeln 
a3f0: 22 5c 24 28 53 52 43 44 49 52 29 5c 5c 73 71 6c  "\$(SRCDIR)\\sql
a400: 69 74 65 33 2e 68 20 5c 24 28 53 52 43 44 49 52  ite3.h \$(SRCDIR
a410: 29 5c 5c 74 68 2e 68 20 56 45 52 53 49 4f 4e 2e  )\\th.h VERSION.
a420: 68 20 5c 24 28 53 52 43 44 49 52 29 5c 5c 63 73  h \$(SRCDIR)\\cs
a430: 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  on_amalgamation.
a440: 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 40 63  h".writeln "\t@c
a450: 6f 70 79 20 2f 59 20 6e 75 6c 3a 20 68 65 61 64  opy /Y nul: head
a460: 65 72 73 22 0a 0a 63 6c 6f 73 65 20 24 6f 75 74  ers"..close $out
a470: 70 75 74 5f 66 69 6c 65 0a 23 0a 23 20 45 6e 64  put_file.#.# End
a480: 20 6f 66 20 74 68 65 20 77 69 6e 2f 4d 61 6b 65   of the win/Make
a490: 66 69 6c 65 2e 64 6d 63 20 6f 75 74 70 75 74 0a  file.dmc output.
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 23 23 23 23 23 23 23 23 23 23 23 0a 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 23 23 23 23 23 23 23 23 23 23 23 0a 23 23  #############.##
a540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a580: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 20 42  ############.# B
a590: 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c  egin win/Makefil
a5a0: 65 2e 6d 73 63 20 6f 75 74 70 75 74 0a 23 0a 70  e.msc output.#.p
a5b0: 75 74 73 20 22 62 75 69 6c 64 69 6e 67 20 2e 2e  uts "building ..
a5c0: 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 73  /win/Makefile.ms
a5d0: 63 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69  c".set output_fi
a5e0: 6c 65 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f  le [open ../win/
a5f0: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 77 5d 0a  Makefile.msc w].
a600: 66 63 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70  fconfigure $outp
a610: 75 74 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61  ut_file -transla
a620: 74 69 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69  tion binary..wri
a630: 74 65 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23 23  teln {#.########
a640: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a650: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a660: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a670: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a680: 23 23 23 23 23 23 0a 23 20 57 41 52 4e 49 4e 47  ######.# WARNING
a690: 3a 20 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41  : DO NOT EDIT, A
a6a0: 55 54 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e  UTOMATICALLY GEN
a6b0: 45 52 41 54 45 44 20 46 49 4c 45 20 28 53 45 45  ERATED FILE (SEE
a6c0: 20 22 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74   "src/makemake.t
a6d0: 63 6c 22 29 0a 23 23 23 23 23 23 23 23 23 23 23  cl").###########
a6e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a6f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a700: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a710: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a720: 23 23 23 0a 23 0a 23 20 54 68 69 73 20 4d 61 6b  ###.#.# This Mak
a730: 65 66 69 6c 65 20 77 69 6c 6c 20 6f 6e 6c 79 20  efile will only 
a740: 66 75 6e 63 74 69 6f 6e 20 63 6f 72 72 65 63 74  function correct
a750: 6c 79 20 69 66 20 75 73 65 64 20 66 72 6f 6d 20  ly if used from 
a760: 61 20 73 75 62 2d 64 69 72 65 63 74 6f 72 79 0a  a sub-directory.
a770: 23 20 74 68 61 74 20 69 73 20 61 20 64 69 72 65  # that is a dire
a780: 63 74 20 63 68 69 6c 64 20 6f 66 20 74 68 65 20  ct child of the 
a790: 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 63 74  top-level direct
a7a0: 6f 72 79 20 66 6f 72 20 74 68 69 73 20 70 72 6f  ory for this pro
a7b0: 6a 65 63 74 2e 0a 23 0a 21 69 66 20 21 65 78 69  ject..#.!if !exi
a7c0: 73 74 28 22 2e 2e 5c 2e 66 6f 73 73 69 6c 2d 73  st("..\.fossil-s
a7d0: 65 74 74 69 6e 67 73 22 29 0a 21 65 72 72 6f 72  ettings").!error
a7e0: 20 22 50 6c 65 61 73 65 20 63 68 61 6e 67 65 20   "Please change 
a7f0: 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65  the current dire
a800: 63 74 6f 72 79 20 74 6f 20 74 68 65 20 6f 6e 65  ctory to the one
a810: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 69 73   containing this
a820: 20 66 69 6c 65 2e 22 0a 21 65 6e 64 69 66 0a 0a   file.".!endif..
a830: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73  #.# This file is
a840: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67   automatically g
a850: 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65  enerated.  Inste
a860: 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74 68  ad of editing th
a870: 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74 20  is.# file, edit 
a880: 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74  "makemake.tcl" t
a890: 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20 6d  hen run "tclsh m
a8a0: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74  akemake.tcl".# t
a8b0: 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 69  o regenerate thi
a8c0: 73 20 66 69 6c 65 2e 0a 23 0a 42 20 20 20 20 20  s file..#.B     
a8d0: 20 20 3d 20 2e 2e 0a 53 52 43 44 49 52 20 20 3d    = ...SRCDIR  =
a8e0: 20 24 42 5c 73 72 63 0a 4f 42 4a 44 49 52 20 20   $B\src.OBJDIR  
a8f0: 3d 20 2e 0a 4f 58 20 20 20 20 20 20 3d 20 2e 0a  = ..OX      = ..
a900: 4f 20 20 20 20 20 20 20 3d 20 2e 6f 62 6a 0a 45  O       = .obj.E
a910: 20 20 20 20 20 20 20 3d 20 2e 65 78 65 0a 50 20         = .exe.P 
a920: 20 20 20 20 20 20 3d 20 2e 70 64 62 0a 0a 23 20        = .pdb..# 
a930: 50 65 72 6c 20 69 73 20 6f 6e 6c 79 20 6e 65 63  Perl is only nec
a940: 65 73 73 61 72 79 20 69 66 20 4f 70 65 6e 53 53  essary if OpenSS
a950: 4c 20 73 75 70 70 6f 72 74 20 69 73 20 65 6e 61  L support is ena
a960: 62 6c 65 64 20 61 6e 64 20 69 74 20 6d 75 73 74  bled and it must
a970: 0a 23 20 62 65 20 62 75 69 6c 74 20 66 72 6f 6d  .# be built from
a980: 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 54   source code.  T
a990: 68 65 20 50 45 52 4c 44 49 52 20 76 61 72 69 61  he PERLDIR varia
a9a0: 62 6c 65 20 73 68 6f 75 6c 64 20 70 6f 69 6e 74  ble should point
a9b0: 20 74 6f 0a 23 20 74 68 65 20 64 69 72 65 63 74   to.# the direct
a9c0: 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74  ory containing t
a9d0: 68 65 20 6d 61 69 6e 20 50 65 72 6c 20 62 69 6e  he main Perl bin
a9e0: 61 72 79 20 28 69 2e 65 2e 20 22 70 65 72 6c 2e  ary (i.e. "perl.
a9f0: 65 78 65 22 29 2e 0a 50 45 52 4c 44 49 52 20 3d  exe")..PERLDIR =
aa00: 20 43 3a 5c 50 65 72 6c 5c 62 69 6e 0a 50 45 52   C:\Perl\bin.PER
aa10: 4c 20 20 20 20 3d 20 70 65 72 6c 2e 65 78 65 0a  L    = perl.exe.
aa20: 0a 23 20 45 6e 61 62 6c 65 20 64 65 62 75 67 67  .# Enable debugg
aa30: 69 6e 67 20 73 79 6d 62 6f 6c 73 3f 0a 21 69 66  ing symbols?.!if
aa40: 6e 64 65 66 20 44 45 42 55 47 0a 44 45 42 55 47  ndef DEBUG.DEBUG
aa50: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 42   = 0.!endif..# B
aa60: 75 69 6c 64 20 74 68 65 20 4f 70 65 6e 53 53 4c  uild the OpenSSL
aa70: 20 6c 69 62 72 61 72 69 65 73 3f 0a 21 69 66 6e   libraries?.!ifn
aa80: 64 65 66 20 46 4f 53 53 49 4c 5f 42 55 49 4c 44  def FOSSIL_BUILD
aa90: 5f 53 53 4c 0a 46 4f 53 53 49 4c 5f 42 55 49 4c  _SSL.FOSSIL_BUIL
aaa0: 44 5f 53 53 4c 20 3d 20 30 0a 21 65 6e 64 69 66  D_SSL = 0.!endif
aab0: 0a 0a 23 20 42 75 69 6c 64 20 74 68 65 20 69 6e  ..# Build the in
aac0: 63 6c 75 64 65 64 20 7a 6c 69 62 20 6c 69 62 72  cluded zlib libr
aad0: 61 72 79 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  ary?.!ifndef FOS
aae0: 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49 42 0a 46  SIL_BUILD_ZLIB.F
aaf0: 4f 53 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49 42  OSSIL_BUILD_ZLIB
ab00: 20 3d 20 31 0a 21 65 6e 64 69 66 0a 0a 23 20 4c   = 1.!endif..# L
ab10: 69 6e 6b 20 65 76 65 72 79 74 68 69 6e 67 20 65  ink everything e
ab20: 78 63 65 70 74 20 53 51 4c 69 74 65 20 64 79 6e  xcept SQLite dyn
ab30: 61 6d 69 63 61 6c 6c 79 3f 0a 21 69 66 6e 64 65  amically?.!ifnde
ab40: 66 20 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43  f FOSSIL_DYNAMIC
ab50: 5f 42 55 49 4c 44 0a 46 4f 53 53 49 4c 5f 44 59  _BUILD.FOSSIL_DY
ab60: 4e 41 4d 49 43 5f 42 55 49 4c 44 20 3d 20 30 0a  NAMIC_BUILD = 0.
ab70: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ab80: 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 73 20   relative paths 
ab90: 69 6e 20 65 78 74 65 72 6e 61 6c 20 64 69 66 66  in external diff
aba0: 2f 67 64 69 66 66 3f 0a 21 69 66 6e 64 65 66 20  /gdiff?.!ifndef 
abb0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58  FOSSIL_ENABLE_EX
abc0: 45 43 5f 52 45 4c 5f 50 41 54 48 53 0a 46 4f 53  EC_REL_PATHS.FOS
abd0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f  SIL_ENABLE_EXEC_
abe0: 52 45 4c 5f 50 41 54 48 53 20 3d 20 30 0a 21 65  REL_PATHS = 0.!e
abf0: 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20 74  ndif..# Enable t
ac00: 68 65 20 4a 53 4f 4e 20 41 50 49 3f 0a 21 69 66  he JSON API?.!if
ac10: 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  ndef FOSSIL_ENAB
ac20: 4c 45 5f 4a 53 4f 4e 0a 46 4f 53 53 49 4c 5f 45  LE_JSON.FOSSIL_E
ac30: 4e 41 42 4c 45 5f 4a 53 4f 4e 20 3d 20 30 0a 21  NABLE_JSON = 0.!
ac40: 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20  endif..# Enable 
ac50: 6c 65 67 61 63 79 20 74 72 65 61 74 6d 65 6e 74  legacy treatment
ac60: 20 6f 66 20 74 68 65 20 6d 76 2f 72 6d 20 63 6f   of the mv/rm co
ac70: 6d 6d 61 6e 64 73 3f 0a 21 69 66 6e 64 65 66 20  mmands?.!ifndef 
ac80: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45  FOSSIL_ENABLE_LE
ac90: 47 41 43 59 5f 4d 56 5f 52 4d 0a 46 4f 53 53 49  GACY_MV_RM.FOSSI
aca0: 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f  L_ENABLE_LEGACY_
acb0: 4d 56 5f 52 4d 20 3d 20 30 0a 21 65 6e 64 69 66  MV_RM = 0.!endif
acc0: 0a 0a 23 20 45 6e 61 62 6c 65 20 75 73 65 20 6f  ..# Enable use o
acd0: 66 20 6d 69 6e 69 7a 20 69 6e 73 74 65 61 64 20  f miniz instead 
ace0: 6f 66 20 7a 6c 69 62 3f 0a 21 69 66 6e 64 65 66  of zlib?.!ifndef
acf0: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d   FOSSIL_ENABLE_M
ad00: 49 4e 49 5a 0a 46 4f 53 53 49 4c 5f 45 4e 41 42  INIZ.FOSSIL_ENAB
ad10: 4c 45 5f 4d 49 4e 49 5a 20 3d 20 30 0a 21 65 6e  LE_MINIZ = 0.!en
ad20: 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20 4f 70  dif..# Enable Op
ad30: 65 6e 53 53 4c 20 73 75 70 70 6f 72 74 3f 0a 21  enSSL support?.!
ad40: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
ad50: 41 42 4c 45 5f 53 53 4c 0a 46 4f 53 53 49 4c 5f  ABLE_SSL.FOSSIL_
ad60: 45 4e 41 42 4c 45 5f 53 53 4c 20 3d 20 30 0a 21  ENABLE_SSL = 0.!
ad70: 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20  endif..# Enable 
ad80: 74 68 65 20 54 63 6c 20 69 6e 74 65 67 72 61 74  the Tcl integrat
ad90: 69 6f 6e 20 73 75 62 73 79 73 74 65 6d 3f 0a 21  ion subsystem?.!
ada0: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
adb0: 41 42 4c 45 5f 54 43 4c 0a 46 4f 53 53 49 4c 5f  ABLE_TCL.FOSSIL_
adc0: 45 4e 41 42 4c 45 5f 54 43 4c 20 3d 20 30 0a 21  ENABLE_TCL = 0.!
add0: 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20  endif..# Enable 
ade0: 54 48 31 20 73 63 72 69 70 74 73 20 69 6e 20 65  TH1 scripts in e
adf0: 6d 62 65 64 64 65 64 20 64 6f 63 75 6d 65 6e 74  mbedded document
ae00: 61 74 69 6f 6e 20 66 69 6c 65 73 3f 0a 21 69 66  ation files?.!if
ae10: 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  ndef FOSSIL_ENAB
ae20: 4c 45 5f 54 48 31 5f 44 4f 43 53 0a 46 4f 53 53  LE_TH1_DOCS.FOSS
ae30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f  IL_ENABLE_TH1_DO
ae40: 43 53 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23  CS = 0.!endif..#
ae50: 20 45 6e 61 62 6c 65 20 54 48 31 20 68 6f 6f 6b   Enable TH1 hook
ae60: 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 61  s for commands a
ae70: 6e 64 20 77 65 62 20 70 61 67 65 73 3f 0a 21 69  nd web pages?.!i
ae80: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
ae90: 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 0a 46 4f  BLE_TH1_HOOKS.FO
aea0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f  SSIL_ENABLE_TH1_
aeb0: 48 4f 4f 4b 53 20 3d 20 30 0a 21 65 6e 64 69 66  HOOKS = 0.!endif
aec0: 0a 0a 23 20 45 6e 61 62 6c 65 20 73 75 70 70 6f  ..# Enable suppo
aed0: 72 74 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 58  rt for Windows X
aee0: 50 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  P with Visual St
aef0: 75 64 69 6f 20 32 30 31 78 3f 0a 21 69 66 6e 64  udio 201x?.!ifnd
af00: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ef FOSSIL_ENABLE
af10: 5f 57 49 4e 58 50 0a 46 4f 53 53 49 4c 5f 45 4e  _WINXP.FOSSIL_EN
af20: 41 42 4c 45 5f 57 49 4e 58 50 20 3d 20 30 0a 21  ABLE_WINXP = 0.!
af30: 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20  endif..# Enable 
af40: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the 
af50: 53 51 4c 69 74 65 20 45 6e 63 72 79 70 74 69 6f  SQLite Encryptio
af60: 6e 20 45 78 74 65 6e 73 69 6f 6e 3f 0a 21 69 66  n Extension?.!if
af70: 6e 64 65 66 20 55 53 45 5f 53 45 45 0a 55 53 45  ndef USE_SEE.USE
af80: 5f 53 45 45 20 3d 20 30 0a 21 65 6e 64 69 66 0a  _SEE = 0.!endif.
af90: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e  .!if $(FOSSIL_EN
afa0: 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 53 53 4c  ABLE_SSL)!=0.SSL
afb0: 44 49 52 20 20 20 20 3d 20 24 28 42 29 5c 63 6f  DIR    = $(B)\co
afc0: 6d 70 61 74 5c 6f 70 65 6e 73 73 6c 2d 31 2e 30  mpat\openssl-1.0
afd0: 2e 32 6e 0a 53 53 4c 49 4e 43 44 49 52 20 3d 20  .2n.SSLINCDIR = 
afe0: 24 28 53 53 4c 44 49 52 29 5c 69 6e 63 33 32 0a  $(SSLDIR)\inc32.
aff0: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e  !if $(FOSSIL_DYN
b000: 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53  AMIC_BUILD)!=0.S
b010: 53 4c 4c 49 42 44 49 52 20 3d 20 24 28 53 53 4c  SLLIBDIR = $(SSL
b020: 44 49 52 29 5c 6f 75 74 33 32 64 6c 6c 0a 21 65  DIR)\out32dll.!e
b030: 6c 73 65 0a 53 53 4c 4c 49 42 44 49 52 20 3d 20  lse.SSLLIBDIR = 
b040: 24 28 53 53 4c 44 49 52 29 5c 6f 75 74 33 32 0a  $(SSLDIR)\out32.
b050: 21 65 6e 64 69 66 0a 53 53 4c 4c 46 4c 41 47 53  !endif.SSLLFLAGS
b060: 20 3d 20 2f 6e 6f 6c 6f 67 6f 20 2f 6f 70 74 3a   = /nologo /opt:
b070: 72 65 66 20 2f 64 65 62 75 67 0a 53 53 4c 4c 49  ref /debug.SSLLI
b080: 42 20 20 20 20 3d 20 73 73 6c 65 61 79 33 32 2e  B    = ssleay32.
b090: 6c 69 62 20 6c 69 62 65 61 79 33 32 2e 6c 69 62  lib libeay32.lib
b0a0: 20 75 73 65 72 33 32 2e 6c 69 62 20 67 64 69 33   user32.lib gdi3
b0b0: 32 2e 6c 69 62 20 63 72 79 70 74 33 32 2e 6c 69  2.lib crypt32.li
b0c0: 62 0a 21 69 66 20 22 24 28 50 4c 41 54 46 4f 52  b.!if "$(PLATFOR
b0d0: 4d 29 22 3d 3d 22 61 6d 64 36 34 22 20 7c 7c 20  M)"=="amd64" || 
b0e0: 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22  "$(PLATFORM)"=="
b0f0: 78 36 34 22 0a 21 6d 65 73 73 61 67 65 20 55 73  x64".!message Us
b100: 69 6e 67 20 27 78 36 34 27 20 70 6c 61 74 66 6f  ing 'x64' platfo
b110: 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53 4c 2e 2e  rm for OpenSSL..
b120: 2e 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e  ..# BUGBUG (Open
b130: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 6e 6f 2d  SSL): Using "no-
b140: 73 73 6c 2a 22 20 68 65 72 65 20 62 72 65 61 6b  ssl*" here break
b150: 73 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 20 53  s the build..# S
b160: 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49  SLCONFIG = VC-WI
b170: 4e 36 34 41 20 6e 6f 2d 61 73 6d 20 6e 6f 2d 73  N64A no-asm no-s
b180: 73 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53 4c 43  sl2 no-ssl3.SSLC
b190: 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e 36 34  ONFIG = VC-WIN64
b1a0: 41 20 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28 46  A no-asm.!if $(F
b1b0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b1c0: 49 4c 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46 49  ILD)!=0.SSLCONFI
b1d0: 47 20 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29  G = $(SSLCONFIG)
b1e0: 20 73 68 61 72 65 64 0a 21 65 6c 73 65 0a 53 53   shared.!else.SS
b1f0: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43  LCONFIG = $(SSLC
b200: 4f 4e 46 49 47 29 20 6e 6f 2d 73 68 61 72 65 64  ONFIG) no-shared
b210: 0a 21 65 6e 64 69 66 0a 53 53 4c 53 45 54 55 50  .!endif.SSLSETUP
b220: 20 20 3d 20 6d 73 5c 64 6f 5f 77 69 6e 36 34 61    = ms\do_win64a
b230: 2e 62 61 74 0a 21 69 66 20 24 28 46 4f 53 53 49  .bat.!if $(FOSSI
b240: 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29  L_DYNAMIC_BUILD)
b250: 21 3d 30 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20  !=0.SSLNMAKE  = 
b260: 6d 73 5c 6e 74 64 6c 6c 2e 6d 61 6b 20 61 6c 6c  ms\ntdll.mak all
b270: 0a 21 65 6c 73 65 0a 53 53 4c 4e 4d 41 4b 45 20  .!else.SSLNMAKE 
b280: 20 3d 20 6d 73 5c 6e 74 2e 6d 61 6b 20 61 6c 6c   = ms\nt.mak all
b290: 0a 21 65 6e 64 69 66 0a 23 20 42 55 47 42 55 47  .!endif.# BUGBUG
b2a0: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b2b0: 67 20 22 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53  g "OPENSSL_NO_SS
b2c0: 4c 2a 22 20 68 65 72 65 20 62 72 65 61 6b 73 20  L*" here breaks 
b2d0: 64 79 6e 61 6d 69 63 20 62 75 69 6c 64 73 2e 0a  dynamic builds..
b2e0: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e  !if $(FOSSIL_DYN
b2f0: 41 4d 49 43 5f 42 55 49 4c 44 29 3d 3d 30 0a 53  AMIC_BUILD)==0.S
b300: 53 4c 43 46 4c 41 47 53 20 3d 20 2d 44 4f 50 45  SLCFLAGS = -DOPE
b310: 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 32 20 2d 44 4f  NSSL_NO_SSL2 -DO
b320: 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 33 0a 21  PENSSL_NO_SSL3.!
b330: 65 6e 64 69 66 0a 21 65 6c 73 65 69 66 20 22 24  endif.!elseif "$
b340: 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 69 61  (PLATFORM)"=="ia
b350: 36 34 22 0a 21 6d 65 73 73 61 67 65 20 55 73 69  64".!message Usi
b360: 6e 67 20 27 69 61 36 34 27 20 70 6c 61 74 66 6f  ng 'ia64' platfo
b370: 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53 4c 2e 2e  rm for OpenSSL..
b380: 2e 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e  ..# BUGBUG (Open
b390: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 6e 6f 2d  SSL): Using "no-
b3a0: 73 73 6c 2a 22 20 68 65 72 65 20 62 72 65 61 6b  ssl*" here break
b3b0: 73 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 20 53  s the build..# S
b3c0: 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49  SLCONFIG = VC-WI
b3d0: 4e 36 34 49 20 6e 6f 2d 61 73 6d 20 6e 6f 2d 73  N64I no-asm no-s
b3e0: 73 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53 4c 43  sl2 no-ssl3.SSLC
b3f0: 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e 36 34  ONFIG = VC-WIN64
b400: 49 20 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28 46  I no-asm.!if $(F
b410: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b420: 49 4c 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46 49  ILD)!=0.SSLCONFI
b430: 47 20 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29  G = $(SSLCONFIG)
b440: 20 73 68 61 72 65 64 0a 21 65 6c 73 65 0a 53 53   shared.!else.SS
b450: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43  LCONFIG = $(SSLC
b460: 4f 4e 46 49 47 29 20 6e 6f 2d 73 68 61 72 65 64  ONFIG) no-shared
b470: 0a 21 65 6e 64 69 66 0a 53 53 4c 53 45 54 55 50  .!endif.SSLSETUP
b480: 20 20 3d 20 6d 73 5c 64 6f 5f 77 69 6e 36 34 69    = ms\do_win64i
b490: 2e 62 61 74 0a 21 69 66 20 24 28 46 4f 53 53 49  .bat.!if $(FOSSI
b4a0: 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29  L_DYNAMIC_BUILD)
b4b0: 21 3d 30 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20  !=0.SSLNMAKE  = 
b4c0: 6d 73 5c 6e 74 64 6c 6c 2e 6d 61 6b 20 61 6c 6c  ms\ntdll.mak all
b4d0: 0a 21 65 6c 73 65 0a 53 53 4c 4e 4d 41 4b 45 20  .!else.SSLNMAKE 
b4e0: 20 3d 20 6d 73 5c 6e 74 2e 6d 61 6b 20 61 6c 6c   = ms\nt.mak all
b4f0: 0a 21 65 6e 64 69 66 0a 23 20 42 55 47 42 55 47  .!endif.# BUGBUG
b500: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b510: 67 20 22 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53  g "OPENSSL_NO_SS
b520: 4c 2a 22 20 68 65 72 65 20 62 72 65 61 6b 73 20  L*" here breaks 
b530: 64 79 6e 61 6d 69 63 20 62 75 69 6c 64 73 2e 0a  dynamic builds..
b540: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e  !if $(FOSSIL_DYN
b550: 41 4d 49 43 5f 42 55 49 4c 44 29 3d 3d 30 0a 53  AMIC_BUILD)==0.S
b560: 53 4c 43 46 4c 41 47 53 20 3d 20 2d 44 4f 50 45  SLCFLAGS = -DOPE
b570: 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 32 20 2d 44 4f  NSSL_NO_SSL2 -DO
b580: 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 33 0a 21  PENSSL_NO_SSL3.!
b590: 65 6e 64 69 66 0a 21 65 6c 73 65 0a 21 6d 65 73  endif.!else.!mes
b5a0: 73 61 67 65 20 41 73 73 75 6d 69 6e 67 20 27 78  sage Assuming 'x
b5b0: 38 36 27 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72  86' platform for
b5c0: 20 4f 70 65 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55   OpenSSL....# BU
b5d0: 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 3a 20  GBUG (OpenSSL): 
b5e0: 55 73 69 6e 67 20 22 6e 6f 2d 73 73 6c 2a 22 20  Using "no-ssl*" 
b5f0: 68 65 72 65 20 62 72 65 61 6b 73 20 74 68 65 20  here breaks the 
b600: 62 75 69 6c 64 2e 0a 23 20 53 53 4c 43 4f 4e 46  build..# SSLCONF
b610: 49 47 20 3d 20 56 43 2d 57 49 4e 33 32 20 6e 6f  IG = VC-WIN32 no
b620: 2d 61 73 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d  -asm no-ssl2 no-
b630: 73 73 6c 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d  ssl3.SSLCONFIG =
b640: 20 56 43 2d 57 49 4e 33 32 20 6e 6f 2d 61 73 6d   VC-WIN32 no-asm
b650: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59  .!if $(FOSSIL_DY
b660: 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a  NAMIC_BUILD)!=0.
b670: 53 53 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53  SSLCONFIG = $(SS
b680: 4c 43 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a  LCONFIG) shared.
b690: 21 65 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20  !else.SSLCONFIG 
b6a0: 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e  = $(SSLCONFIG) n
b6b0: 6f 2d 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a  o-shared.!endif.
b6c0: 53 53 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64  SSLSETUP  = ms\d
b6d0: 6f 5f 6d 73 2e 62 61 74 0a 21 69 66 20 24 28 46  o_ms.bat.!if $(F
b6e0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b6f0: 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41 4b 45  ILD)!=0.SSLNMAKE
b700: 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d 61 6b    = ms\ntdll.mak
b710: 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c 4e 4d   all.!else.SSLNM
b720: 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d 61 6b  AKE  = ms\nt.mak
b730: 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20 42 55   all.!endif.# BU
b740: 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 3a 20  GBUG (OpenSSL): 
b750: 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c 5f 4e  Using "OPENSSL_N
b760: 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62 72 65  O_SSL*" here bre
b770: 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75 69 6c  aks dynamic buil
b780: 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  ds..!if $(FOSSIL
b790: 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 3d  _DYNAMIC_BUILD)=
b7a0: 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d 20 2d  =0.SSLCFLAGS = -
b7b0: 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 32  DOPENSSL_NO_SSL2
b7c0: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53   -DOPENSSL_NO_SS
b7d0: 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66  L3.!endif.!endif
b7e0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
b7f0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
b800: 29 21 3d 30 0a 54 43 4c 44 49 52 20 20 20 20 3d  )!=0.TCLDIR    =
b810: 20 24 28 42 29 5c 63 6f 6d 70 61 74 5c 74 63 6c   $(B)\compat\tcl
b820: 2d 38 2e 36 0a 54 43 4c 53 52 43 44 49 52 20 3d  -8.6.TCLSRCDIR =
b830: 20 24 28 54 43 4c 44 49 52 29 0a 54 43 4c 49 4e   $(TCLDIR).TCLIN
b840: 43 44 49 52 20 3d 20 24 28 54 43 4c 53 52 43 44  CDIR = $(TCLSRCD
b850: 49 52 29 5c 67 65 6e 65 72 69 63 0a 21 65 6e 64  IR)\generic.!end
b860: 69 66 0a 0a 23 20 7a 6c 69 62 20 6f 70 74 69 6f  if..# zlib optio
b870: 6e 73 0a 5a 49 4e 43 44 49 52 20 20 20 3d 20 24  ns.ZINCDIR   = $
b880: 28 42 29 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a  (B)\compat\zlib.
b890: 5a 4c 49 42 44 49 52 20 20 20 3d 20 24 28 42 29  ZLIBDIR   = $(B)
b8a0: 5c 63 6f 6d 70 61 74 5c 7a 6c 69 62 0a 0a 21 69  \compat\zlib..!i
b8b0: 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d  f $(FOSSIL_DYNAM
b8c0: 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 5a 4c 49  IC_BUILD)!=0.ZLI
b8d0: 42 20 20 20 20 20 20 3d 20 7a 64 6c 6c 2e 6c 69  B      = zdll.li
b8e0: 62 0a 21 65 6c 73 65 0a 5a 4c 49 42 20 20 20 20  b.!else.ZLIB    
b8f0: 20 20 3d 20 7a 6c 69 62 2e 6c 69 62 0a 21 65 6e    = zlib.lib.!en
b900: 64 69 66 0a 0a 49 4e 43 4c 20 20 20 20 20 20 3d  dif..INCL      =
b910: 20 2f 49 2e 20 2f 49 24 28 53 52 43 44 49 52 29   /I. /I$(SRCDIR)
b920: 20 2f 49 24 42 5c 77 69 6e 5c 69 6e 63 6c 75 64   /I$B\win\includ
b930: 65 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  e..!if $(FOSSIL_
b940: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 3d 3d 30  ENABLE_MINIZ)==0
b950: 0a 49 4e 43 4c 20 20 20 20 20 20 3d 20 24 28 49  .INCL      = $(I
b960: 4e 43 4c 29 20 2f 49 24 28 5a 49 4e 43 44 49 52  NCL) /I$(ZINCDIR
b970: 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  ).!endif..!if $(
b980: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
b990: 4c 29 21 3d 30 0a 49 4e 43 4c 20 20 20 20 20 20  L)!=0.INCL      
b9a0: 3d 20 24 28 49 4e 43 4c 29 20 2f 49 24 28 53 53  = $(INCL) /I$(SS
b9b0: 4c 49 4e 43 44 49 52 29 0a 21 65 6e 64 69 66 0a  LINCDIR).!endif.
b9c0: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e  .!if $(FOSSIL_EN
b9d0: 41 42 4c 45 5f 54 43 4c 29 21 3d 30 0a 49 4e 43  ABLE_TCL)!=0.INC
b9e0: 4c 20 20 20 20 20 20 3d 20 24 28 49 4e 43 4c 29  L      = $(INCL)
b9f0: 20 2f 49 24 28 54 43 4c 49 4e 43 44 49 52 29 0a   /I$(TCLINCDIR).
ba00: 21 65 6e 64 69 66 0a 0a 43 46 4c 41 47 53 20 20  !endif..CFLAGS  
ba10: 20 20 3d 20 2f 6e 6f 6c 6f 67 6f 0a 4c 44 46 4c    = /nologo.LDFL
ba20: 41 47 53 20 20 20 3d 0a 0a 21 69 66 20 24 28 46  AGS   =..!if $(F
ba30: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
ba40: 49 4c 44 29 21 3d 30 0a 4c 44 46 4c 41 47 53 20  ILD)!=0.LDFLAGS 
ba50: 20 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 2f    = $(LDFLAGS) /
ba60: 4d 41 4e 49 46 45 53 54 0a 21 65 6c 73 65 0a 4c  MANIFEST.!else.L
ba70: 44 46 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46  DFLAGS   = $(LDF
ba80: 4c 41 47 53 29 20 2f 4e 4f 44 45 46 41 55 4c 54  LAGS) /NODEFAULT
ba90: 4c 49 42 3a 6d 73 76 63 72 74 20 2f 4d 41 4e 49  LIB:msvcrt /MANI
baa0: 46 45 53 54 3a 4e 4f 0a 21 65 6e 64 69 66 0a 0a  FEST:NO.!endif..
bab0: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA
bac0: 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 0a 58 50  BLE_WINXP)!=0.XP
bad0: 43 46 4c 41 47 53 20 20 3d 20 24 28 58 50 43 46  CFLAGS  = $(XPCF
bae0: 4c 41 47 53 29 20 2f 44 5f 57 49 4e 33 32 5f 57  LAGS) /D_WIN32_W
baf0: 49 4e 4e 54 3d 30 78 30 35 30 31 20 2f 44 5f 55  INNT=0x0501 /D_U
bb00: 53 49 4e 47 5f 56 31 31 30 5f 53 44 4b 37 31 5f  SING_V110_SDK71_
bb10: 3d 31 0a 43 46 4c 41 47 53 20 20 20 20 3d 20 24  =1.CFLAGS    = $
bb20: 28 43 46 4c 41 47 53 29 20 24 28 58 50 43 46 4c  (CFLAGS) $(XPCFL
bb30: 41 47 53 29 0a 21 69 66 20 22 24 28 50 4c 41 54  AGS).!if "$(PLAT
bb40: 46 4f 52 4d 29 22 3d 3d 22 61 6d 64 36 34 22 20  FORM)"=="amd64" 
bb50: 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22  || "$(PLATFORM)"
bb60: 3d 3d 22 78 36 34 22 0a 58 50 4c 44 46 4c 41 47  =="x64".XPLDFLAG
bb70: 53 20 3d 20 24 28 58 50 4c 44 46 4c 41 47 53 29  S = $(XPLDFLAGS)
bb80: 20 2f 53 55 42 53 59 53 54 45 4d 3a 43 4f 4e 53   /SUBSYSTEM:CONS
bb90: 4f 4c 45 2c 35 2e 30 32 0a 21 65 6c 73 65 0a 58  OLE,5.02.!else.X
bba0: 50 4c 44 46 4c 41 47 53 20 3d 20 24 28 58 50 4c  PLDFLAGS = $(XPL
bbb0: 44 46 4c 41 47 53 29 20 2f 53 55 42 53 59 53 54  DFLAGS) /SUBSYST
bbc0: 45 4d 3a 43 4f 4e 53 4f 4c 45 2c 35 2e 30 31 0a  EM:CONSOLE,5.01.
bbd0: 21 65 6e 64 69 66 0a 4c 44 46 4c 41 47 53 20 20  !endif.LDFLAGS  
bbe0: 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28   = $(LDFLAGS) $(
bbf0: 58 50 4c 44 46 4c 41 47 53 29 0a 21 65 6e 64 69  XPLDFLAGS).!endi
bc00: 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  f..!if $(FOSSIL_
bc10: 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d  DYNAMIC_BUILD)!=
bc20: 30 0a 21 69 66 20 24 28 44 45 42 55 47 29 21 3d  0.!if $(DEBUG)!=
bc30: 30 0a 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d 44  0.CRTFLAGS = /MD
bc40: 64 0a 21 65 6c 73 65 0a 43 52 54 46 4c 41 47 53  d.!else.CRTFLAGS
bc50: 20 3d 20 2f 4d 44 0a 21 65 6e 64 69 66 0a 21 65   = /MD.!endif.!e
bc60: 6c 73 65 0a 21 69 66 20 24 28 44 45 42 55 47 29  lse.!if $(DEBUG)
bc70: 21 3d 30 0a 43 52 54 46 4c 41 47 53 20 3d 20 2f  !=0.CRTFLAGS = /
bc80: 4d 54 64 0a 21 65 6c 73 65 0a 43 52 54 46 4c 41  MTd.!else.CRTFLA
bc90: 47 53 20 3d 20 2f 4d 54 0a 21 65 6e 64 69 66 0a  GS = /MT.!endif.
bca0: 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 44 45  !endif..!if $(DE
bcb0: 42 55 47 29 21 3d 30 0a 43 46 4c 41 47 53 20 20  BUG)!=0.CFLAGS  
bcc0: 20 20 3d 20 24 28 43 46 4c 41 47 53 29 20 2f 5a    = $(CFLAGS) /Z
bcd0: 69 20 24 28 43 52 54 46 4c 41 47 53 29 20 2f 4f  i $(CRTFLAGS) /O
bce0: 64 0a 4c 44 46 4c 41 47 53 20 20 20 3d 20 24 28  d.LDFLAGS   = $(
bcf0: 4c 44 46 4c 41 47 53 29 20 2f 44 45 42 55 47 0a  LDFLAGS) /DEBUG.
bd00: 21 65 6c 73 65 0a 43 46 4c 41 47 53 20 20 20 20  !else.CFLAGS    
bd10: 3d 20 24 28 43 46 4c 41 47 53 29 20 24 28 43 52  = $(CFLAGS) $(CR
bd20: 54 46 4c 41 47 53 29 20 2f 4f 32 0a 21 65 6e 64  TFLAGS) /O2.!end
bd30: 69 66 0a 0a 42 43 43 20 20 20 20 20 20 20 3d 20  if..BCC       = 
bd40: 24 28 43 43 29 20 24 28 43 46 4c 41 47 53 29 0a  $(CC) $(CFLAGS).
bd50: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 43 43  TCC       = $(CC
bd60: 29 20 2f 63 20 24 28 43 46 4c 41 47 53 29 20 24  ) /c $(CFLAGS) $
bd70: 28 4d 53 43 44 45 46 29 20 24 28 49 4e 43 4c 29  (MSCDEF) $(INCL)
bd80: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52  .RCC       = $(R
bd90: 43 29 20 2f 44 5f 57 49 4e 33 32 20 2f 44 5f 4d  C) /D_WIN32 /D_M
bda0: 53 43 5f 56 45 52 20 24 28 4d 53 43 44 45 46 29  SC_VER $(MSCDEF)
bdb0: 20 24 28 49 4e 43 4c 29 0a 4d 54 43 20 20 20 20   $(INCL).MTC    
bdc0: 20 20 20 3d 20 6d 74 0a 4c 49 42 53 20 20 20 20     = mt.LIBS    
bdd0: 20 20 3d 20 77 73 32 5f 33 32 2e 6c 69 62 20 61    = ws2_32.lib a
bde0: 64 76 61 70 69 33 32 2e 6c 69 62 0a 4c 49 42 44  dvapi32.lib.LIBD
bdf0: 49 52 20 20 20 20 3d 0a 0a 21 69 66 20 24 28 46  IR    =..!if $(F
be00: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
be10: 49 4c 44 29 21 3d 30 0a 54 43 43 20 20 20 20 20  ILD)!=0.TCC     
be20: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53    = $(TCC) /DFOS
be30: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
be40: 44 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20  D=1.RCC       = 
be50: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f  $(RCC) /DFOSSIL_
be60: 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 3d 31 0a  DYNAMIC_BUILD=1.
be70: 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f  !endif..!if $(FO
be80: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
be90: 5a 29 3d 3d 30 0a 4c 49 42 53 20 20 20 20 20 20  Z)==0.LIBS      
bea0: 3d 20 24 28 4c 49 42 53 29 20 24 28 5a 4c 49 42  = $(LIBS) $(ZLIB
beb0: 29 0a 4c 49 42 44 49 52 20 20 20 20 3d 20 24 28  ).LIBDIR    = $(
bec0: 4c 49 42 44 49 52 29 20 2f 4c 49 42 50 41 54 48  LIBDIR) /LIBPATH
bed0: 3a 24 28 5a 4c 49 42 44 49 52 29 0a 21 65 6e 64  :$(ZLIBDIR).!end
bee0: 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  if..!if $(FOSSIL
bef0: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 21 3d  _ENABLE_MINIZ)!=
bf00: 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28  0.TCC       = $(
bf10: 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e  TCC) /DFOSSIL_EN
bf20: 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 52 43 43  ABLE_MINIZ=1.RCC
bf30: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
bf40: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
bf50: 4d 49 4e 49 5a 3d 31 0a 21 65 6e 64 69 66 0a 0a  MINIZ=1.!endif..
bf60: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA
bf70: 42 4c 45 5f 4a 53 4f 4e 29 21 3d 30 0a 54 43 43  BLE_JSON)!=0.TCC
bf80: 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 20         = $(TCC) 
bf90: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
bfa0: 4a 53 4f 4e 3d 31 0a 52 43 43 20 20 20 20 20 20  JSON=1.RCC      
bfb0: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS
bfc0: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31  IL_ENABLE_JSON=1
bfd0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
bfe0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
bff0: 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d  )!=0.TCC       =
c000: 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c   $(TCC) /DFOSSIL
c010: 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 52 43  _ENABLE_SSL=1.RC
c020: 43 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29  C       = $(RCC)
c030: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   /DFOSSIL_ENABLE
c040: 5f 53 53 4c 3d 31 0a 4c 49 42 53 20 20 20 20 20  _SSL=1.LIBS     
c050: 20 3d 20 24 28 4c 49 42 53 29 20 24 28 53 53 4c   = $(LIBS) $(SSL
c060: 4c 49 42 29 0a 4c 49 42 44 49 52 20 20 20 20 3d  LIB).LIBDIR    =
c070: 20 24 28 4c 49 42 44 49 52 29 20 2f 4c 49 42 50   $(LIBDIR) /LIBP
c080: 41 54 48 3a 24 28 53 53 4c 4c 49 42 44 49 52 29  ATH:$(SSLLIBDIR)
c090: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
c0a0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45  OSSIL_ENABLE_EXE
c0b0: 43 5f 52 45 4c 5f 50 41 54 48 53 29 21 3d 30 0a  C_REL_PATHS)!=0.
c0c0: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43  TCC       = $(TC
c0d0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c0e0: 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48  LE_EXEC_REL_PATH
c0f0: 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20  S=1.RCC       = 
c100: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f  $(RCC) /DFOSSIL_
c110: 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f  ENABLE_EXEC_REL_
c120: 50 41 54 48 53 3d 31 0a 21 65 6e 64 69 66 0a 0a  PATHS=1.!endif..
c130: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA
c140: 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d  BLE_LEGACY_MV_RM
c150: 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d  )!=0.TCC       =
c160: 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c   $(TCC) /DFOSSIL
c170: 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d  _ENABLE_LEGACY_M
c180: 56 5f 52 4d 3d 31 0a 52 43 43 20 20 20 20 20 20  V_RM=1.RCC      
c190: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS
c1a0: 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59  IL_ENABLE_LEGACY
c1b0: 5f 4d 56 5f 52 4d 3d 31 0a 21 65 6e 64 69 66 0a  _MV_RM=1.!endif.
c1c0: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e  .!if $(FOSSIL_EN
c1d0: 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 29 21 3d  ABLE_TH1_DOCS)!=
c1e0: 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28  0.TCC       = $(
c1f0: 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e  TCC) /DFOSSIL_EN
c200: 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 0a  ABLE_TH1_DOCS=1.
c210: 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 43  RCC       = $(RC
c220: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c230: 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 0a 21 65  LE_TH1_DOCS=1.!e
c240: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS
c250: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f  IL_ENABLE_TH1_HO
c260: 4f 4b 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20  OKS)!=0.TCC     
c270: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53    = $(TCC) /DFOS
c280: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48  SIL_ENABLE_TH1_H
c290: 4f 4f 4b 53 3d 31 0a 52 43 43 20 20 20 20 20 20  OOKS=1.RCC      
c2a0: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS
c2b0: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f  IL_ENABLE_TH1_HO
c2c0: 4f 4b 53 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69  OKS=1.!endif..!i
c2d0: 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  f $(FOSSIL_ENABL
c2e0: 45 5f 54 43 4c 29 21 3d 30 0a 54 43 43 20 20 20  E_TCL)!=0.TCC   
c2f0: 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46      = $(TCC) /DF
c300: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
c310: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24  =1.RCC       = $
c320: 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (RCC) /DFOSSIL_E
c330: 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a 54 43 43 20  NABLE_TCL=1.TCC 
c340: 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f        = $(TCC) /
c350: 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54  DFOSSIL_ENABLE_T
c360: 43 4c 5f 53 54 55 42 53 3d 31 0a 52 43 43 20 20  CL_STUBS=1.RCC  
c370: 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44       = $(RCC) /D
c380: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
c390: 4c 5f 53 54 55 42 53 3d 31 0a 54 43 43 20 20 20  L_STUBS=1.TCC   
c3a0: 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46      = $(TCC) /DF
c3b0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
c3c0: 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 3d 31  _PRIVATE_STUBS=1
c3d0: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52  .RCC       = $(R
c3e0: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41  CC) /DFOSSIL_ENA
c3f0: 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f  BLE_TCL_PRIVATE_
c400: 53 54 55 42 53 3d 31 0a 54 43 43 20 20 20 20 20  STUBS=1.TCC     
c410: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 55 53 45    = $(TCC) /DUSE
c420: 5f 54 43 4c 5f 53 54 55 42 53 3d 31 0a 52 43 43  _TCL_STUBS=1.RCC
c430: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
c440: 2f 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 3d  /DUSE_TCL_STUBS=
c450: 31 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  1.!endif..!if $(
c460: 55 53 45 5f 53 45 45 29 21 3d 30 0a 54 43 43 20  USE_SEE)!=0.TCC 
c470: 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f        = $(TCC) /
c480: 44 55 53 45 5f 53 45 45 3d 31 0a 52 43 43 20 20  DUSE_SEE=1.RCC  
c490: 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44       = $(RCC) /D
c4a0: 55 53 45 5f 53 45 45 3d 31 0a 21 65 6e 64 69 66  USE_SEE=1.!endif
c4b0: 0a 7d 0a 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b  .}.regsub -all {
c4c0: 5b 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 53 51 4c  [-]D} [join $SQL
c4d0: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ITE_WIN32_OPTION
c4e0: 53 20 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f  S { }] {/D} MSC_
c4f0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 0a 73  SQLITE_OPTIONS.s
c500: 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20  et j " \\\n     
c510: 20 20 20 20 20 20 20 20 20 20 20 20 22 0a 77 72              ".wr
c520: 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f 50  iteln "SQLITE_OP
c530: 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 4d  TIONS = [join $M
c540: 53 43 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  SC_SQLITE_OPTION
c550: 53 20 24 6a 5d 5c 6e 22 0a 0a 72 65 67 73 75 62  S $j]\n"..regsub
c560: 20 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b 6a 6f   -all {[-]D} [jo
c570: 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e 33 32 5f  in $SHELL_WIN32_
c580: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20 7b 2f 44  OPTIONS { }] {/D
c590: 7d 20 4d 53 43 5f 53 48 45 4c 4c 5f 4f 50 54 49  } MSC_SHELL_OPTI
c5a0: 4f 4e 53 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e  ONS.set j " \\\n
c5b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c5c0: 22 0a 77 72 69 74 65 6c 6e 20 22 53 48 45 4c 4c  ".writeln "SHELL
c5d0: 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e  _OPTIONS = [join
c5e0: 20 24 4d 53 43 5f 53 48 45 4c 4c 5f 4f 50 54 49   $MSC_SHELL_OPTI
c5f0: 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 0a 72 65 67 73  ONS $j]\n"..regs
c600: 75 62 20 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b  ub -all {[-]D} [
c610: 6a 6f 69 6e 20 24 4d 49 4e 49 5a 5f 57 49 4e 33  join $MINIZ_WIN3
c620: 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20 7b  2_OPTIONS { }] {
c630: 2f 44 7d 20 4d 53 43 5f 4d 49 4e 49 5a 5f 4f 50  /D} MSC_MINIZ_OP
c640: 54 49 4f 4e 53 0a 73 65 74 20 6a 20 22 20 5c 5c  TIONS.set j " \\
c650: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  \n              
c660: 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 4d 49 4e    ".writeln "MIN
c670: 49 5a 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f  IZ_OPTIONS = [jo
c680: 69 6e 20 24 4d 53 43 5f 4d 49 4e 49 5a 5f 4f 50  in $MSC_MINIZ_OP
c690: 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 0a 77 72  TIONS $j]\n"..wr
c6a0: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
c6b0: 20 22 53 52 43 20 20 20 3d 20 22 0a 73 65 74 20   "SRC   = ".set 
c6c0: 69 20 30 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c  i 0.foreach s [l
c6d0: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 69  sort $src] {.  i
c6e0: 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20 20  f {$i > 0} {.   
c6f0: 20 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 20   writeln " \\". 
c700: 20 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65     writeln -none
c710: 77 6c 69 6e 65 20 22 20 20 20 20 20 20 20 20 22  wline "        "
c720: 0a 20 20 7d 0a 20 20 77 72 69 74 65 6c 6e 20 2d  .  }.  writeln -
c730: 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b 73 7d 5f  nonewline "${s}_
c740: 2e 63 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77 72  .c"; incr i.}.wr
c750: 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65  iteln "\n".write
c760: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 45  ln -nonewline "E
c770: 58 54 52 41 5f 46 49 4c 45 53 20 20 20 3d 20 22  XTRA_FILES   = "
c780: 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 68  .set i 0.foreach
c790: 20 73 20 5b 6c 73 6f 72 74 20 24 65 78 74 72 61   s [lsort $extra
c7a0: 5f 66 69 6c 65 73 5d 20 7b 0a 20 20 69 66 20 7b  _files] {.  if {
c7b0: 24 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72  $i > 0} {.    wr
c7c0: 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20  iteln " \\".    
c7d0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
c7e0: 6e 65 20 22 20 20 20 20 20 20 20 20 22 0a 20 20  ne "        ".  
c7f0: 7d 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  }.  writeln -non
c800: 65 77 6c 69 6e 65 20 22 5c 24 28 53 52 43 44 49  ewline "\$(SRCDI
c810: 52 29 5c 5c 24 7b 73 7d 22 3b 20 69 6e 63 72 20  R)\\${s}"; incr 
c820: 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22  i.}.writeln "\n"
c830: 0a 73 65 74 20 41 64 64 69 74 69 6f 6e 61 6c 4f  .set AdditionalO
c840: 62 6a 20 5b 6c 69 73 74 20 73 68 65 6c 6c 20 73  bj [list shell s
c850: 71 6c 69 74 65 33 20 74 68 20 74 68 5f 6c 61 6e  qlite3 th th_lan
c860: 67 20 74 68 5f 74 63 6c 20 63 73 6f 6e 5f 61 6d  g th_tcl cson_am
c870: 61 6c 67 61 6d 61 74 69 6f 6e 5d 0a 77 72 69 74  algamation].writ
c880: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
c890: 4f 42 4a 20 20 20 3d 20 22 0a 73 65 74 20 69 20  OBJ   = ".set i 
c8a0: 30 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  0.foreach s [lso
c8b0: 72 74 20 5b 63 6f 6e 63 61 74 20 24 73 72 63 20  rt [concat $src 
c8c0: 24 41 64 64 69 74 69 6f 6e 61 6c 4f 62 6a 5d 5d  $AdditionalObj]]
c8d0: 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d   {.  if {$i > 0}
c8e0: 20 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22   {.    writeln "
c8f0: 20 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e   \\".    writeln
c900: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20   -nonewline "   
c910: 20 20 20 20 20 22 0a 20 20 7d 0a 20 20 77 72 69       ".  }.  wri
c920: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
c930: 22 5c 24 28 4f 58 29 5c 5c 24 73 5c 24 4f 22 3b  "\$(OX)\\$s\$O";
c940: 20 69 6e 63 72 20 69 0a 7d 0a 69 66 20 7b 24 69   incr i.}.if {$i
c950: 20 3e 20 30 7d 20 7b 0a 20 20 77 72 69 74 65 6c   > 0} {.  writel
c960: 6e 20 22 20 5c 5c 22 0a 7d 0a 77 72 69 74 65 6c  n " \\".}.writel
c970: 6e 20 22 21 69 66 20 5c 24 28 46 4f 53 53 49 4c  n "!if \$(FOSSIL
c980: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 21 3d  _ENABLE_MINIZ)!=
c990: 30 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  0".writeln -none
c9a0: 77 6c 69 6e 65 20 22 20 20 20 20 20 20 20 20 22  wline "        "
c9b0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 58 29  .writeln "\$(OX)
c9c0: 5c 5c 6d 69 6e 69 7a 5c 24 4f 20 5c 5c 22 3b 20  \\miniz\$O \\"; 
c9d0: 69 6e 63 72 20 69 0a 77 72 69 74 65 6c 6e 20 22  incr i.writeln "
c9e0: 21 65 6e 64 69 66 22 0a 77 72 69 74 65 6c 6e 20  !endif".writeln 
c9f0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 20  -nonewline "    
ca00: 20 20 20 20 5c 24 28 4f 58 29 5c 5c 66 6f 73 73      \$(OX)\\foss
ca10: 69 6c 2e 72 65 73 5c 6e 5c 6e 22 0a 77 72 69 74  il.res\n\n".writ
ca20: 65 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20  eln [string map 
ca30: 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49  [list <<<NEXT_LI
ca40: 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b 0a 41 50 50 4e  NE>>> \\] {.APPN
ca50: 41 4d 45 20 20 20 20 3d 20 24 28 4f 58 29 5c 66  AME    = $(OX)\f
ca60: 6f 73 73 69 6c 24 28 45 29 0a 50 44 42 4e 41 4d  ossil$(E).PDBNAM
ca70: 45 20 20 20 20 3d 20 24 28 4f 58 29 5c 66 6f 73  E    = $(OX)\fos
ca80: 73 69 6c 24 28 50 29 0a 41 50 50 54 41 52 47 45  sil$(P).APPTARGE
ca90: 54 53 20 3d 0a 0a 61 6c 6c 3a 20 24 28 4f 58 29  TS =..all: $(OX)
caa0: 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 7a 6c 69   $(APPNAME)..zli
cab0: 62 3a 0a 09 40 65 63 68 6f 20 42 75 69 6c 64 69  b:..@echo Buildi
cac0: 6e 67 20 7a 6c 69 62 20 66 72 6f 6d 20 22 24 28  ng zlib from "$(
cad0: 5a 4c 49 42 44 49 52 29 22 2e 2e 2e 0a 21 69 66  ZLIBDIR)"....!if
cae0: 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   $(FOSSIL_ENABLE
caf0: 5f 57 49 4e 58 50 29 21 3d 30 0a 09 40 70 75 73  _WINXP)!=0..@pus
cb00: 68 64 20 22 24 28 5a 4c 49 42 44 49 52 29 22 20  hd "$(ZLIBDIR)" 
cb10: 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69  && $(MAKE) /f wi
cb20: 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63  n32\Makefile.msc
cb30: 20 24 28 5a 4c 49 42 29 20 22 43 43 3d 63 6c 20   $(ZLIB) "CC=cl 
cb40: 24 28 58 50 43 46 4c 41 47 53 29 22 20 22 4c 44  $(XPCFLAGS)" "LD
cb50: 3d 6c 69 6e 6b 20 24 28 58 50 4c 44 46 4c 41 47  =link $(XPLDFLAG
cb60: 53 29 22 20 26 26 20 70 6f 70 64 0a 21 65 6c 73  S)" && popd.!els
cb70: 65 0a 09 40 70 75 73 68 64 20 22 24 28 5a 4c 49  e..@pushd "$(ZLI
cb80: 42 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45  BDIR)" && $(MAKE
cb90: 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66  ) /f win32\Makef
cba0: 69 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42 29 20  ile.msc $(ZLIB) 
cbb0: 26 26 20 70 6f 70 64 0a 21 65 6e 64 69 66 0a 0a  && popd.!endif..
cbc0: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA
cbd0: 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 6f 70 65 6e  BLE_SSL)!=0.open
cbe0: 73 73 6c 3a 0a 09 40 65 63 68 6f 20 42 75 69 6c  ssl:..@echo Buil
cbf0: 64 69 6e 67 20 4f 70 65 6e 53 53 4c 20 66 72 6f  ding OpenSSL fro
cc00: 6d 20 22 24 28 53 53 4c 44 49 52 29 22 2e 2e 2e  m "$(SSLDIR)"...
cc10: 0a 21 69 66 20 22 24 28 50 45 52 4c 44 49 52 29  .!if "$(PERLDIR)
cc20: 22 20 21 3d 20 22 22 0a 09 40 73 65 74 20 50 41  " != ""..@set PA
cc30: 54 48 3d 24 28 50 45 52 4c 44 49 52 29 3b 24 28  TH=$(PERLDIR);$(
cc40: 50 41 54 48 29 0a 21 65 6e 64 69 66 0a 09 40 70  PATH).!endif..@p
cc50: 75 73 68 64 20 22 24 28 53 53 4c 44 49 52 29 22  ushd "$(SSLDIR)"
cc60: 20 26 26 20 24 28 50 45 52 4c 29 20 43 6f 6e 66   && $(PERL) Conf
cc70: 69 67 75 72 65 20 24 28 53 53 4c 43 4f 4e 46 49  igure $(SSLCONFI
cc80: 47 29 20 26 26 20 70 6f 70 64 0a 09 40 70 75 73  G) && popd..@pus
cc90: 68 64 20 22 24 28 53 53 4c 44 49 52 29 22 20 26  hd "$(SSLDIR)" &
cca0: 26 20 63 61 6c 6c 20 24 28 53 53 4c 53 45 54 55  & call $(SSLSETU
ccb0: 50 29 20 26 26 20 70 6f 70 64 0a 21 69 66 20 24  P) && popd.!if $
ccc0: 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 57  (FOSSIL_ENABLE_W
ccd0: 49 4e 58 50 29 21 3d 30 0a 09 40 70 75 73 68 64  INXP)!=0..@pushd
cce0: 20 22 24 28 53 53 4c 44 49 52 29 22 20 26 26 20   "$(SSLDIR)" && 
ccf0: 24 28 4d 41 4b 45 29 20 2f 66 20 24 28 53 53 4c  $(MAKE) /f $(SSL
cd00: 4e 4d 41 4b 45 29 20 22 43 43 3d 63 6c 20 24 28  NMAKE) "CC=cl $(
cd10: 53 53 4c 43 46 4c 41 47 53 29 20 24 28 58 50 43  SSLCFLAGS) $(XPC
cd20: 46 4c 41 47 53 29 22 20 22 4c 46 4c 41 47 53 3d  FLAGS)" "LFLAGS=
cd30: 24 28 53 53 4c 4c 46 4c 41 47 53 29 20 24 28 58  $(SSLLFLAGS) $(X
cd40: 50 4c 44 46 4c 41 47 53 29 22 20 26 26 20 70 6f  PLDFLAGS)" && po
cd50: 70 64 0a 21 65 6c 73 65 0a 09 40 70 75 73 68 64  pd.!else..@pushd
cd60: 20 22 24 28 53 53 4c 44 49 52 29 22 20 26 26 20   "$(SSLDIR)" && 
cd70: 24 28 4d 41 4b 45 29 20 2f 66 20 24 28 53 53 4c  $(MAKE) /f $(SSL
cd80: 4e 4d 41 4b 45 29 20 22 43 43 3d 63 6c 20 24 28  NMAKE) "CC=cl $(
cd90: 53 53 4c 43 46 4c 41 47 53 29 22 20 26 26 20 70  SSLCFLAGS)" && p
cda0: 6f 70 64 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69  opd.!endif.!endi
cdb0: 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  f..!if $(FOSSIL_
cdc0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 3d 3d 30  ENABLE_MINIZ)==0
cdd0: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 42 55  .!if $(FOSSIL_BU
cde0: 49 4c 44 5f 5a 4c 49 42 29 21 3d 30 0a 41 50 50  ILD_ZLIB)!=0.APP
cdf0: 54 41 52 47 45 54 53 20 3d 20 24 28 41 50 50 54  TARGETS = $(APPT
ce00: 41 52 47 45 54 53 29 20 7a 6c 69 62 0a 21 65 6e  ARGETS) zlib.!en
ce10: 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  dif.!endif..!if 
ce20: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
ce30: 53 53 4c 29 21 3d 30 0a 21 69 66 20 24 28 46 4f  SSL)!=0.!if $(FO
ce40: 53 53 49 4c 5f 42 55 49 4c 44 5f 53 53 4c 29 21  SSIL_BUILD_SSL)!
ce50: 3d 30 0a 41 50 50 54 41 52 47 45 54 53 20 3d 20  =0.APPTARGETS = 
ce60: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 6f 70  $(APPTARGETS) op
ce70: 65 6e 73 73 6c 0a 21 65 6e 64 69 66 0a 21 65 6e  enssl.!endif.!en
ce80: 64 69 66 0a 0a 24 28 41 50 50 4e 41 4d 45 29 20  dif..$(APPNAME) 
ce90: 3a 20 24 28 41 50 50 54 41 52 47 45 54 53 29 20  : $(APPTARGETS) 
cea0: 74 72 61 6e 73 6c 61 74 65 24 45 20 6d 6b 69 6e  translate$E mkin
ceb0: 64 65 78 24 45 20 63 6f 64 65 63 68 65 63 6b 31  dex$E codecheck1
cec0: 24 45 20 68 65 61 64 65 72 73 20 24 28 4f 42 4a  $E headers $(OBJ
ced0: 29 20 24 28 4f 58 29 5c 6c 69 6e 6b 6f 70 74 73  ) $(OX)\linkopts
cee0: 0a 09 63 64 20 24 28 4f 58 29 0a 09 63 6f 64 65  ..cd $(OX)..code
cef0: 63 68 65 63 6b 31 24 45 20 24 28 53 52 43 29 0a  check1$E $(SRC).
cf00: 09 6c 69 6e 6b 20 24 28 4c 44 46 4c 41 47 53 29  .link $(LDFLAGS)
cf10: 20 2f 4f 55 54 3a 24 40 20 24 28 4c 49 42 44 49   /OUT:$@ $(LIBDI
cf20: 52 29 20 57 73 65 74 61 72 67 76 2e 6f 62 6a 20  R) Wsetargv.obj 
cf30: 66 6f 73 73 69 6c 2e 72 65 73 20 40 6c 69 6e 6b  fossil.res @link
cf40: 6f 70 74 73 0a 09 69 66 20 65 78 69 73 74 20 24  opts..if exist $
cf50: 40 2e 6d 61 6e 69 66 65 73 74 20 3c 3c 3c 4e 45  @.manifest <<<NE
cf60: 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 09 09 24 28 4d  XT_LINE>>>...$(M
cf70: 54 43 29 20 2d 6e 6f 6c 6f 67 6f 20 2d 6d 61 6e  TC) -nologo -man
cf80: 69 66 65 73 74 20 24 40 2e 6d 61 6e 69 66 65 73  ifest $@.manifes
cf90: 74 20 2d 6f 75 74 70 75 74 72 65 73 6f 75 72 63  t -outputresourc
cfa0: 65 3a 24 40 3b 31 0a 0a 24 28 4f 58 29 5c 6c 69  e:$@;1..$(OX)\li
cfb0: 6e 6b 6f 70 74 73 3a 20 24 42 5c 77 69 6e 5c 4d  nkopts: $B\win\M
cfc0: 61 6b 65 66 69 6c 65 2e 6d 73 63 7d 5d 0a 73 65  akefile.msc}].se
cfd0: 74 20 72 65 64 69 72 20 7b 3e 7d 0a 66 6f 72 65  t redir {>}.fore
cfe0: 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 5b 63 6f  ach s [lsort [co
cff0: 6e 63 61 74 20 24 73 72 63 20 24 41 64 64 69 74  ncat $src $Addit
d000: 69 6f 6e 61 6c 4f 62 6a 5d 5d 20 7b 0a 20 20 77  ionalObj]] {.  w
d010: 72 69 74 65 6c 6e 20 22 5c 74 65 63 68 6f 20 5c  riteln "\techo \
d020: 24 28 4f 58 29 5c 5c 24 73 2e 6f 62 6a 20 24 72  $(OX)\\$s.obj $r
d030: 65 64 69 72 20 5c 24 40 22 0a 20 20 73 65 74 20  edir \$@".  set 
d040: 72 65 64 69 72 20 7b 3e 3e 7d 0a 7d 0a 73 65 74  redir {>>}.}.set
d050: 20 72 65 64 69 72 20 7b 3e 3e 7d 0a 77 72 69 74   redir {>>}.writ
d060: 65 6c 6e 20 22 21 69 66 20 5c 24 28 46 4f 53 53  eln "!if \$(FOSS
d070: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29  IL_ENABLE_MINIZ)
d080: 21 3d 30 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  !=0".writeln "\t
d090: 65 63 68 6f 20 5c 24 28 4f 58 29 5c 5c 6d 69 6e  echo \$(OX)\\min
d0a0: 69 7a 2e 6f 62 6a 20 24 72 65 64 69 72 20 5c 24  iz.obj $redir \$
d0b0: 40 22 0a 77 72 69 74 65 6c 6e 20 22 21 65 6e 64  @".writeln "!end
d0c0: 69 66 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 65  if".writeln "\te
d0d0: 63 68 6f 20 5c 24 28 4c 49 42 53 29 20 24 72 65  cho \$(LIBS) $re
d0e0: 64 69 72 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e  dir \$@".writeln
d0f0: 20 7b 0a 24 28 4f 58 29 3a 0a 09 40 2d 6d 6b 64   {.$(OX):..@-mkd
d100: 69 72 20 24 40 0a 0a 74 72 61 6e 73 6c 61 74 65  ir $@..translate
d110: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 74 72  $E: $(SRCDIR)\tr
d120: 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 42 43 43  anslate.c..$(BCC
d130: 29 20 24 2a 2a 0a 0a 6d 61 6b 65 68 65 61 64 65  ) $**..makeheade
d140: 72 73 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  rs$E: $(SRCDIR)\
d150: 6d 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 09 24  makeheaders.c..$
d160: 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 69 6e 64  (BCC) $**..mkind
d170: 65 78 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  ex$E: $(SRCDIR)\
d180: 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28 42 43 43  mkindex.c..$(BCC
d190: 29 20 24 2a 2a 0a 0a 6d 6b 62 75 69 6c 74 69 6e  ) $**..mkbuiltin
d1a0: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 6b  $E: $(SRCDIR)\mk
d1b0: 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28 42 43 43  builtin.c..$(BCC
d1c0: 29 20 24 2a 2a 0a 0a 6d 6b 76 65 72 73 69 6f 6e  ) $**..mkversion
d1d0: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 6b  $E: $(SRCDIR)\mk
d1e0: 76 65 72 73 69 6f 6e 2e 63 0a 09 24 28 42 43 43  version.c..$(BCC
d1f0: 29 20 24 2a 2a 0a 0a 6d 6b 63 73 73 24 45 3a 20  ) $**..mkcss$E: 
d200: 24 28 53 52 43 44 49 52 29 5c 6d 6b 63 73 73 2e  $(SRCDIR)\mkcss.
d210: 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 63  c..$(BCC) $**..c
d220: 6f 64 65 63 68 65 63 6b 31 24 45 3a 20 24 28 53  odecheck1$E: $(S
d230: 52 43 44 49 52 29 5c 63 6f 64 65 63 68 65 63 6b  RCDIR)\codecheck
d240: 31 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a  1.c..$(BCC) $**.
d250: 0a 21 69 66 20 24 28 55 53 45 5f 53 45 45 29 21  .!if $(USE_SEE)!
d260: 3d 30 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20 2f  =0.SEE_FLAGS = /
d270: 44 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45  DSQLITE_HAS_CODE
d280: 43 3d 31 20 2f 44 53 51 4c 49 54 45 5f 53 48 45  C=1 /DSQLITE_SHE
d290: 4c 4c 5f 44 42 4b 45 59 5f 50 52 4f 43 3d 66 6f  LL_DBKEY_PROC=fo
d2a0: 73 73 69 6c 5f 6b 65 79 0a 53 51 4c 49 54 45 33  ssil_key.SQLITE3
d2b0: 5f 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53  _SHELL_SRC = $(S
d2c0: 52 43 44 49 52 29 5c 73 68 65 6c 6c 2d 73 65 65  RCDIR)\shell-see
d2d0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d  .c.SQLITE3_SRC =
d2e0: 20 24 28 53 52 43 44 49 52 29 5c 73 71 6c 69 74   $(SRCDIR)\sqlit
d2f0: 65 33 2d 73 65 65 2e 63 0a 21 65 6c 73 65 0a 53  e3-see.c.!else.S
d300: 45 45 5f 46 4c 41 47 53 20 3d 0a 53 51 4c 49 54  EE_FLAGS =.SQLIT
d310: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  E3_SHELL_SRC = $
d320: 28 53 52 43 44 49 52 29 5c 73 68 65 6c 6c 2e 63  (SRCDIR)\shell.c
d330: 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d 20 24  .SQLITE3_SRC = $
d340: 28 53 52 43 44 49 52 29 5c 73 71 6c 69 74 65 33  (SRCDIR)\sqlite3
d350: 2e 63 0a 21 65 6e 64 69 66 0a 0a 24 28 4f 58 29  .c.!endif..$(OX)
d360: 5c 73 68 65 6c 6c 24 4f 20 3a 20 24 28 53 51 4c  \shell$O : $(SQL
d370: 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 20  ITE3_SHELL_SRC) 
d380: 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e  $B\win\Makefile.
d390: 6d 73 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24  msc..$(TCC) /Fo$
d3a0: 40 20 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e  @ $(SHELL_OPTION
d3b0: 53 29 20 24 28 53 51 4c 49 54 45 5f 4f 50 54 49  S) $(SQLITE_OPTI
d3c0: 4f 4e 53 29 20 24 28 53 48 45 4c 4c 5f 43 46 4c  ONS) $(SHELL_CFL
d3d0: 41 47 53 29 20 24 28 53 45 45 5f 46 4c 41 47 53  AGS) $(SEE_FLAGS
d3e0: 29 20 2d 63 20 24 28 53 51 4c 49 54 45 33 5f 53  ) -c $(SQLITE3_S
d3f0: 48 45 4c 4c 5f 53 52 43 29 0a 0a 24 28 4f 58 29  HELL_SRC)..$(OX)
d400: 5c 73 71 6c 69 74 65 33 24 4f 20 3a 20 24 28 53  \sqlite3$O : $(S
d410: 51 4c 49 54 45 33 5f 53 52 43 29 20 24 42 5c 77  QLITE3_SRC) $B\w
d420: 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a  in\Makefile.msc.
d430: 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d 63  .$(TCC) /Fo$@ -c
d440: 20 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e   $(SQLITE_OPTION
d450: 53 29 20 24 28 53 51 4c 49 54 45 5f 43 46 4c 41  S) $(SQLITE_CFLA
d460: 47 53 29 20 24 28 53 45 45 5f 46 4c 41 47 53 29  GS) $(SEE_FLAGS)
d470: 20 24 28 53 51 4c 49 54 45 33 5f 53 52 43 29 0a   $(SQLITE3_SRC).
d480: 0a 24 28 4f 58 29 5c 74 68 24 4f 20 3a 20 24 28  .$(OX)\th$O : $(
d490: 53 52 43 44 49 52 29 5c 74 68 2e 63 0a 09 24 28  SRCDIR)\th.c..$(
d4a0: 54 43 43 29 20 2f 46 6f 24 40 20 2d 63 20 24 2a  TCC) /Fo$@ -c $*
d4b0: 2a 0a 0a 24 28 4f 58 29 5c 74 68 5f 6c 61 6e 67  *..$(OX)\th_lang
d4c0: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74  $O : $(SRCDIR)\t
d4d0: 68 5f 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43 29  h_lang.c..$(TCC)
d4e0: 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24   /Fo$@ -c $**..$
d4f0: 28 4f 58 29 5c 74 68 5f 74 63 6c 24 4f 20 3a 20  (OX)\th_tcl$O : 
d500: 24 28 53 52 43 44 49 52 29 5c 74 68 5f 74 63 6c  $(SRCDIR)\th_tcl
d510: 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40  .c..$(TCC) /Fo$@
d520: 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 6d   -c $**..$(OX)\m
d530: 69 6e 69 7a 24 4f 20 3a 20 24 28 53 52 43 44 49  iniz$O : $(SRCDI
d540: 52 29 5c 6d 69 6e 69 7a 2e 63 0a 09 24 28 54 43  R)\miniz.c..$(TC
d550: 43 29 20 2f 46 6f 24 40 20 2d 63 20 24 28 4d 49  C) /Fo$@ -c $(MI
d560: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53  NIZ_OPTIONS) $(S
d570: 52 43 44 49 52 29 5c 6d 69 6e 69 7a 2e 63 0a 0a  RCDIR)\miniz.c..
d580: 56 45 52 53 49 4f 4e 2e 68 20 3a 20 6d 6b 76 65  VERSION.h : mkve
d590: 72 73 69 6f 6e 24 45 20 24 42 5c 6d 61 6e 69 66  rsion$E $B\manif
d5a0: 65 73 74 2e 75 75 69 64 20 24 42 5c 6d 61 6e 69  est.uuid $B\mani
d5b0: 66 65 73 74 20 24 42 5c 56 45 52 53 49 4f 4e 0a  fest $B\VERSION.
d5c0: 09 24 2a 2a 20 3e 20 24 40 0a 0a 24 28 4f 58 29  .$** > $@..$(OX)
d5d0: 5c 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69  \cson_amalgamati
d5e0: 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  on$O : $(SRCDIR)
d5f0: 5c 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69  \cson_amalgamati
d600: 6f 6e 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f  on.c..$(TCC) /Fo
d610: 24 40 20 2f 63 20 24 2a 2a 0a 0a 64 65 66 61 75  $@ /c $**..defau
d620: 6c 74 5f 63 73 73 2e 68 3a 20 6d 6b 63 73 73 24  lt_css.h: mkcss$
d630: 45 20 24 28 53 52 43 44 49 52 29 5c 64 65 66 61  E $(SRCDIR)\defa
d640: 75 6c 74 5f 63 73 73 2e 74 78 74 0a 09 24 2a 2a  ult_css.txt..$**
d650: 20 24 40 0a 0a 70 61 67 65 5f 69 6e 64 65 78 2e   $@..page_index.
d660: 68 3a 20 6d 6b 69 6e 64 65 78 24 45 20 24 28 53  h: mkindex$E $(S
d670: 52 43 29 0a 09 24 2a 2a 20 3e 20 24 40 0a 0a 62  RC)..$** > $@..b
d680: 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09 6d  uiltin_data.h:.m
d690: 6b 62 75 69 6c 74 69 6e 24 45 20 24 28 45 58 54  kbuiltin$E $(EXT
d6a0: 52 41 5f 46 49 4c 45 53 29 0a 09 6d 6b 62 75 69  RA_FILES)..mkbui
d6b0: 6c 74 69 6e 24 45 20 2d 2d 70 72 65 66 69 78 20  ltin$E --prefix 
d6c0: 24 28 53 52 43 44 49 52 29 2f 20 24 28 45 58 54  $(SRCDIR)/ $(EXT
d6d0: 52 41 5f 46 49 4c 45 53 29 20 3e 20 24 40 0a 0a  RA_FILES) > $@..
d6e0: 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 24 28 4f 58  clean:..del $(OX
d6f0: 29 5c 2a 2e 6f 62 6a 20 32 3e 4e 55 4c 0a 09 64  )\*.obj 2>NUL..d
d700: 65 6c 20 2a 2e 6f 62 6a 20 32 3e 4e 55 4c 0a 09  el *.obj 2>NUL..
d710: 64 65 6c 20 2a 5f 2e 63 20 32 3e 4e 55 4c 0a 09  del *_.c 2>NUL..
d720: 64 65 6c 20 2a 2e 68 20 32 3e 4e 55 4c 0a 09 64  del *.h 2>NUL..d
d730: 65 6c 20 2a 2e 69 6c 6b 20 32 3e 4e 55 4c 0a 09  el *.ilk 2>NUL..
d740: 64 65 6c 20 2a 2e 6d 61 70 20 32 3e 4e 55 4c 0a  del *.map 2>NUL.
d750: 09 64 65 6c 20 2a 2e 72 65 73 20 32 3e 4e 55 4c  .del *.res 2>NUL
d760: 0a 09 64 65 6c 20 68 65 61 64 65 72 73 20 32 3e  ..del headers 2>
d770: 4e 55 4c 0a 09 64 65 6c 20 6c 69 6e 6b 6f 70 74  NUL..del linkopt
d780: 73 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 76 63 2a  s 2>NUL..del vc*
d790: 2e 70 64 62 20 32 3e 4e 55 4c 0a 0a 72 65 61 6c  .pdb 2>NUL..real
d7a0: 63 6c 65 61 6e 3a 20 63 6c 65 61 6e 0a 09 64 65  clean: clean..de
d7b0: 6c 20 24 28 41 50 50 4e 41 4d 45 29 20 32 3e 4e  l $(APPNAME) 2>N
d7c0: 55 4c 0a 09 64 65 6c 20 24 28 50 44 42 4e 41 4d  UL..del $(PDBNAM
d7d0: 45 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 74 72  E) 2>NUL..del tr
d7e0: 61 6e 73 6c 61 74 65 24 45 20 32 3e 4e 55 4c 0a  anslate$E 2>NUL.
d7f0: 09 64 65 6c 20 74 72 61 6e 73 6c 61 74 65 24 50  .del translate$P
d800: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 69 6e   2>NUL..del mkin
d810: 64 65 78 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c  dex$E 2>NUL..del
d820: 20 6d 6b 69 6e 64 65 78 24 50 20 32 3e 4e 55 4c   mkindex$P 2>NUL
d830: 0a 09 64 65 6c 20 6d 61 6b 65 68 65 61 64 65 72  ..del makeheader
d840: 73 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d  s$E 2>NUL..del m
d850: 61 6b 65 68 65 61 64 65 72 73 24 50 20 32 3e 4e  akeheaders$P 2>N
d860: 55 4c 0a 09 64 65 6c 20 6d 6b 76 65 72 73 69 6f  UL..del mkversio
d870: 6e 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d  n$E 2>NUL..del m
d880: 6b 76 65 72 73 69 6f 6e 24 50 20 32 3e 4e 55 4c  kversion$P 2>NUL
d890: 0a 09 64 65 6c 20 6d 6b 63 73 73 24 45 20 32 3e  ..del mkcss$E 2>
d8a0: 4e 55 4c 0a 09 64 65 6c 20 6d 6b 63 73 73 24 50  NUL..del mkcss$P
d8b0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 63 6f 64 65   2>NUL..del code
d8c0: 63 68 65 63 6b 31 24 45 20 32 3e 4e 55 4c 0a 09  check1$E 2>NUL..
d8d0: 64 65 6c 20 63 6f 64 65 63 68 65 63 6b 31 24 50  del codecheck1$P
d8e0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 62 75   2>NUL..del mkbu
d8f0: 69 6c 74 69 6e 24 45 20 32 3e 4e 55 4c 0a 09 64  iltin$E 2>NUL..d
d900: 65 6c 20 6d 6b 62 75 69 6c 74 69 6e 24 50 20 32  el mkbuiltin$P 2
d910: 3e 4e 55 4c 0a 0a 24 28 4f 42 4a 44 49 52 29 5c  >NUL..$(OBJDIR)\
d920: 6a 73 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44 49  json$O : $(SRCDI
d930: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
d940: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
d950: 61 72 74 69 66 61 63 74 24 4f 20 3a 20 24 28 53  artifact$O : $(S
d960: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
d970: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j
d980: 73 6f 6e 5f 62 72 61 6e 63 68 24 4f 20 3a 20 24  son_branch$O : $
d990: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
d9a0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
d9b0: 5c 6a 73 6f 6e 5f 63 6f 6e 66 69 67 24 4f 20 3a  \json_config$O :
d9c0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
d9d0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
d9e0: 52 29 5c 6a 73 6f 6e 5f 64 69 66 66 24 4f 20 3a  R)\json_diff$O :
d9f0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
da00: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
da10: 52 29 5c 6a 73 6f 6e 5f 64 69 72 24 4f 20 3a 20  R)\json_dir$O : 
da20: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
da30: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
da40: 29 5c 6a 73 6f 6e 5f 66 69 6e 66 6f 24 4f 20 3a  )\json_finfo$O :
da50: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
da60: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
da70: 52 29 5c 6a 73 6f 6e 5f 6c 6f 67 69 6e 24 4f 20  R)\json_login$O 
da80: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
da90: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
daa0: 49 52 29 5c 6a 73 6f 6e 5f 71 75 65 72 79 24 4f  IR)\json_query$O
dab0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
dac0: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
dad0: 44 49 52 29 5c 6a 73 6f 6e 5f 72 65 70 6f 72 74  DIR)\json_report
dae0: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O : $(SRCDIR)\j
daf0: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O
db00: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 73 74 61 74  BJDIR)\json_stat
db10: 75 73 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  us$O : $(SRCDIR)
db20: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
db30: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 61  (OBJDIR)\json_ta
db40: 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  g$O : $(SRCDIR)\
db50: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28  json_detail.h.$(
db60: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 69 6d  OBJDIR)\json_tim
db70: 65 6c 69 6e 65 24 4f 20 3a 20 24 28 53 52 43 44  eline$O : $(SRCD
db80: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
db90: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
dba0: 5f 75 73 65 72 24 4f 20 3a 20 24 28 53 52 43 44  _user$O : $(SRCD
dbb0: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
dbc0: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
dbd0: 5f 77 69 6b 69 24 4f 20 3a 20 24 28 53 52 43 44  _wiki$O : $(SRCD
dbe0: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
dbf0: 68 0a 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c  h.}.foreach s [l
dc00: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
dc10: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 58 29 5c 5c  riteln "\$(OX)\\
dc20: 24 73 5c 24 4f 20 3a 20 24 7b 73 7d 5f 2e 63 20  $s\$O : ${s}_.c 
dc30: 24 7b 73 7d 2e 68 22 0a 20 20 77 72 69 74 65 6c  ${s}.h".  writel
dc40: 6e 20 22 5c 74 5c 24 28 54 43 43 29 20 2f 46 6f  n "\t\$(TCC) /Fo
dc50: 5c 24 40 20 2d 63 20 24 7b 73 7d 5f 2e 63 5c 6e  \$@ -c ${s}_.c\n
dc60: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 24 7b 73  ".  writeln "${s
dc70: 7d 5f 2e 63 20 3a 20 5c 24 28 53 52 43 44 49 52  }_.c : \$(SRCDIR
dc80: 29 5c 5c 24 73 2e 63 22 0a 20 20 77 72 69 74 65  )\\$s.c".  write
dc90: 6c 6e 20 22 5c 74 74 72 61 6e 73 6c 61 74 65 5c  ln "\ttranslate\
dca0: 24 45 20 5c 24 2a 2a 20 3e 20 5c 24 40 5c 6e 22  $E \$** > \$@\n"
dcb0: 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 22 66 6f 73  .}..writeln "fos
dcc0: 73 69 6c 2e 72 65 73 20 3a 20 5c 24 42 5c 5c 77  sil.res : \$B\\w
dcd0: 69 6e 5c 5c 66 6f 73 73 69 6c 2e 72 63 22 0a 77  in\\fossil.rc".w
dce0: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 52 43 43  riteln "\t\$(RCC
dcf0: 29 20 20 2f 66 6f 20 5c 24 40 20 5c 24 2a 2a 5c  )  /fo \$@ \$**\
dd00: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 68 65 61  n"..writeln "hea
dd10: 64 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72  ders: makeheader
dd20: 73 5c 24 45 20 70 61 67 65 5f 69 6e 64 65 78 2e  s\$E page_index.
dd30: 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68  h builtin_data.h
dd40: 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 56   default_css.h V
dd50: 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 65 6c  ERSION.h".writel
dd60: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74  n -nonewline "\t
dd70: 6d 61 6b 65 68 65 61 64 65 72 73 5c 24 45 20 22  makeheaders\$E "
dd80: 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 68  .set i 0.foreach
dd90: 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20   s [lsort $src] 
dda0: 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d 20  {.  if {$i > 0} 
ddb0: 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22 20  {.    writeln " 
ddc0: 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e 20  \\".    writeln 
ddd0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74 5c 74  -nonewline "\t\t
dde0: 5c 74 22 0a 20 20 7d 0a 20 20 77 72 69 74 65 6c  \t".  }.  writel
ddf0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b  n -nonewline "${
de00: 73 7d 5f 2e 63 3a 24 73 2e 68 22 3b 20 69 6e 63  s}_.c:$s.h"; inc
de10: 72 20 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 20  r i.}.writeln " 
de20: 5c 5c 5c 6e 5c 74 5c 74 5c 74 5c 24 28 53 52 43  \\\n\t\t\t\$(SRC
de30: 44 49 52 29 5c 5c 73 71 6c 69 74 65 33 2e 68 20  DIR)\\sqlite3.h 
de40: 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c  \\".writeln "\t\
de50: 74 5c 74 5c 24 28 53 52 43 44 49 52 29 5c 5c 74  t\t\$(SRCDIR)\\t
de60: 68 2e 68 20 5c 5c 22 0a 77 72 69 74 65 6c 6e 20  h.h \\".writeln 
de70: 22 5c 74 5c 74 5c 74 56 45 52 53 49 4f 4e 2e 68  "\t\t\tVERSION.h
de80: 20 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74   \\".writeln "\t
de90: 5c 74 5c 74 5c 24 28 53 52 43 44 49 52 29 5c 5c  \t\t\$(SRCDIR)\\
dea0: 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f  cson_amalgamatio
deb0: 6e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  n.h".writeln "\t
dec0: 40 63 6f 70 79 20 2f 59 20 6e 75 6c 3a 20 68 65  @copy /Y nul: he
ded0: 61 64 65 72 73 22 0a 0a 0a 63 6c 6f 73 65 20 24  aders"...close $
dee0: 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23 0a 23 20  output_file.#.# 
def0: 45 6e 64 20 6f 66 20 74 68 65 20 77 69 6e 2f 4d  End of the win/M
df00: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f 75 74 70  akefile.msc outp
df10: 75 74 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ut.#############
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 23 23 23 23 23 23 23 23 23 23  ################
df60: 23 0a 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 23 23 23 23 23 23 23 23 23 23 23  ################
dfb0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
dfc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dfd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dfe0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dff0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
e000: 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65  # Begin win/Make
e010: 66 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b  file.PellesCGMak
e020: 65 20 6f 75 74 70 75 74 0a 23 0a 70 75 74 73 20  e output.#.puts 
e030: 22 62 75 69 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e  "building ../win
e040: 2f 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73  /Makefile.Pelles
e050: 43 47 4d 61 6b 65 22 0a 73 65 74 20 6f 75 74 70  CGMake".set outp
e060: 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 2e 2e  ut_file [open ..
e070: 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 50 65  /win/Makefile.Pe
e080: 6c 6c 65 73 43 47 4d 61 6b 65 20 77 5d 0a 66 63  llesCGMake w].fc
e090: 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70 75 74  onfigure $output
e0a0: 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69  _file -translati
e0b0: 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65  on binary..write
e0c0: 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  ln [string map [
e0d0: 6c 69 73 74 20 5c 0a 20 20 20 20 3c 3c 3c 53 51  list \.    <<<SQ
e0e0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 20  LITE_OPTIONS>>> 
e0f0: 5b 6a 6f 69 6e 20 24 53 51 4c 49 54 45 5f 57 49  [join $SQLITE_WI
e100: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d  N32_OPTIONS { }]
e110: 20 5c 0a 20 20 20 20 3c 3c 3c 53 48 45 4c 4c 5f   \.    <<<SHELL_
e120: 4f 50 54 49 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e  OPTIONS>>> [join
e130: 20 24 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50   $SHELL_WIN32_OP
e140: 54 49 4f 4e 53 20 7b 20 7d 5d 5d 20 7b 23 0a 23  TIONS { }]] {#.#
e150: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e160: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e170: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e190: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 20  #############.# 
e1a0: 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20  WARNING: DO NOT 
e1b0: 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43 41  EDIT, AUTOMATICA
e1c0: 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46 49  LLY GENERATED FI
e1d0: 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61 6b  LE (SEE "src/mak
e1e0: 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23  emake.tcl").####
e1f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e210: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e230: 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23 20 54  ##########.#.# T
e240: 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74 6f  his file is auto
e250: 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61  matically genera
e260: 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 6f 66  ted.  Instead of
e270: 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a 23 20   editing this.# 
e280: 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b 65  file, edit "make
e290: 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20 72  make.tcl" then r
e2a0: 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61  un "tclsh makema
e2b0: 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72 65 67  ke.tcl".# to reg
e2c0: 65 6e 65 72 61 74 65 20 74 68 69 73 20 66 69 6c  enerate this fil
e2d0: 65 2e 0a 23 0a 23 20 48 6f 77 54 6f 0a 23 20 2d  e..#.# HowTo.# -
e2e0: 2d 2d 2d 2d 0a 23 0a 23 20 54 68 69 73 20 69 73  ----.#.# This is
e2f0: 20 61 20 4d 61 6b 65 66 69 6c 65 20 74 6f 20 63   a Makefile to c
e300: 6f 6d 70 69 6c 65 20 66 6f 73 73 69 6c 20 77 69  ompile fossil wi
e310: 74 68 20 50 65 6c 6c 65 73 43 20 66 72 6f 6d 0a  th PellesC from.
e320: 23 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 73 6d  #  http://www.sm
e330: 6f 72 67 61 73 62 6f 72 64 65 74 2e 63 6f 6d 2f  orgasbordet.com/
e340: 70 65 6c 6c 65 73 63 2f 69 6e 64 65 78 2e 68 74  pellesc/index.ht
e350: 6d 0a 23 20 49 6e 20 61 64 64 69 74 69 6f 6e 20  m.# In addition 
e360: 74 6f 20 74 68 65 20 43 6f 6d 70 69 6c 65 72 20  to the Compiler 
e370: 65 6e 76 72 69 6f 6e 6d 65 6e 74 2c 20 79 6f 75  envrionment, you
e380: 20 6e 65 65 64 0a 23 20 20 67 6d 61 6b 65 20 66   need.#  gmake f
e390: 72 6f 6d 20 68 74 74 70 3a 2f 2f 73 6f 75 72 63  rom http://sourc
e3a0: 65 66 6f 72 67 65 2e 6e 65 74 2f 70 72 6f 6a 65  eforge.net/proje
e3b0: 63 74 73 2f 75 6e 78 75 74 69 6c 73 2f 2c 20 50  cts/unxutils/, P
e3c0: 65 6c 6c 65 73 20 6d 61 6b 65 20 76 65 72 73 69  elles make versi
e3d0: 6f 6e 0a 23 20 20 20 20 20 20 20 20 63 6f 75 6c  on.#        coul
e3e0: 64 6e 27 74 20 68 61 6e 64 6c 65 20 74 68 65 20  dn't handle the 
e3f0: 63 6f 6d 70 6c 65 78 20 64 65 70 65 6e 64 65 6e  complex dependen
e400: 63 69 65 73 20 69 6e 20 74 68 69 73 20 62 75 69  cies in this bui
e410: 6c 64 0a 23 20 20 7a 6c 69 62 20 73 6f 75 72 63  ld.#  zlib sourc
e420: 65 73 0a 23 20 54 68 65 6e 20 79 6f 75 20 64 6f  es.# Then you do
e430: 0a 23 20 31 2e 20 63 72 65 61 74 65 20 61 20 64  .# 1. create a d
e440: 69 72 65 63 74 6f 72 79 20 50 65 6c 6c 65 73 43  irectory PellesC
e450: 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20   in the project 
e460: 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 0a 23  root directory.#
e470: 20 32 2e 20 43 68 61 6e 67 65 20 74 68 65 20 76   2. Change the v
e480: 61 72 69 61 62 6c 65 73 20 50 65 6c 6c 65 73 43  ariables PellesC
e490: 44 69 72 2f 5a 4c 49 42 53 52 43 44 49 52 20 74  Dir/ZLIBSRCDIR t
e4a0: 6f 20 74 68 65 20 70 61 74 68 20 6f 66 20 79 6f  o the path of yo
e4b0: 75 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a  ur installation.
e4c0: 23 20 33 2e 20 6f 70 65 6e 20 61 20 64 6f 73 20  # 3. open a dos 
e4d0: 70 72 6f 6d 70 74 20 77 69 6e 64 6f 77 20 61 6e  prompt window an
e4e0: 64 20 63 68 61 6e 67 65 20 77 6f 72 6b 69 6e 67  d change working
e4f0: 20 64 69 72 65 63 74 6f 72 79 20 69 6e 74 6f 20   directory into 
e500: 50 65 6c 6c 65 73 43 20 28 73 74 65 70 20 31 29  PellesC (step 1)
e510: 0a 23 20 34 2e 20 72 75 6e 20 67 6d 61 6b 65 20  .# 4. run gmake 
e520: 2d 66 20 2e 2e 5c 77 69 6e 5c 4d 61 6b 65 66 69  -f ..\win\Makefi
e530: 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65 0a  le.PellesCGMake.
e540: 23 0a 23 20 74 68 69 73 20 66 69 6c 65 20 69 73  #.# this file is
e550: 20 74 65 73 74 65 64 20 77 69 74 68 0a 23 20 20   tested with.#  
e560: 20 50 65 6c 6c 65 73 43 20 20 20 20 20 20 20 20   PellesC        
e570: 20 35 2e 30 30 2e 31 33 0a 23 20 20 20 67 6d 61   5.00.13.#   gma
e580: 6b 65 20 20 20 20 20 20 20 20 20 20 20 33 2e 38  ke           3.8
e590: 30 0a 23 20 20 20 7a 6c 69 62 20 73 6f 75 72 63  0.#   zlib sourc
e5a0: 65 73 20 20 20 20 31 2e 32 2e 35 0a 23 20 20 20  es    1.2.5.#   
e5b0: 57 69 6e 64 6f 77 73 20 58 50 20 53 50 20 32 0a  Windows XP SP 2.
e5c0: 23 20 61 6e 64 0a 23 20 20 20 50 65 6c 6c 65 73  # and.#   Pelles
e5d0: 43 20 20 20 20 20 20 20 20 20 36 2e 30 30 2e 34  C         6.00.4
e5e0: 0a 23 20 20 20 67 6d 61 6b 65 20 20 20 20 20 20  .#   gmake      
e5f0: 20 20 20 20 20 33 2e 38 30 0a 23 20 20 20 7a 6c       3.80.#   zl
e600: 69 62 20 73 6f 75 72 63 65 73 20 20 20 20 31 2e  ib sources    1.
e610: 32 2e 35 0a 23 20 20 20 57 69 6e 64 6f 77 73 20  2.5.#   Windows 
e620: 37 20 48 6f 6d 65 20 50 72 65 6d 69 75 6d 0a 23  7 Home Premium.#
e630: 0a 0a 23 0a 50 65 6c 6c 65 73 43 44 69 72 3d 63  ..#.PellesCDir=c
e640: 3a 5c 50 72 6f 67 72 61 6d 6d 65 5c 50 65 6c 6c  :\Programme\Pell
e650: 65 73 43 0a 0a 23 20 53 65 6c 65 63 74 20 62 65  esC..# Select be
e660: 74 77 65 65 6e 20 33 32 2f 36 34 20 62 69 74 20  tween 32/64 bit 
e670: 63 6f 64 65 2c 20 64 65 66 61 75 6c 74 20 69 73  code, default is
e680: 20 33 32 20 62 69 74 0a 23 54 41 52 47 45 54 56   32 bit.#TARGETV
e690: 45 52 53 49 4f 4e 3d 36 34 0a 0a 69 66 65 71 20  ERSION=64..ifeq 
e6a0: 28 24 28 54 41 52 47 45 54 56 45 52 53 49 4f 4e  ($(TARGETVERSION
e6b0: 29 2c 36 34 29 0a 23 20 36 34 20 62 69 74 20 76  ),64).# 64 bit v
e6c0: 65 72 73 69 6f 6e 0a 54 41 52 47 45 54 4d 41 43  ersion.TARGETMAC
e6d0: 48 49 4e 45 5f 43 43 3d 61 6d 64 36 34 0a 54 41  HINE_CC=amd64.TA
e6e0: 52 47 45 54 4d 41 43 48 49 4e 45 5f 4c 4e 3d 61  RGETMACHINE_LN=a
e6f0: 6d 64 36 34 0a 54 41 52 47 45 54 45 58 54 45 4e  md64.TARGETEXTEN
e700: 44 3d 36 34 0a 65 6c 73 65 0a 23 20 33 32 20 62  D=64.else.# 32 b
e710: 69 74 20 76 65 72 73 69 6f 6e 0a 54 41 52 47 45  it version.TARGE
e720: 54 4d 41 43 48 49 4e 45 5f 43 43 3d 78 38 36 0a  TMACHINE_CC=x86.
e730: 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 4c 4e  TARGETMACHINE_LN
e740: 3d 69 78 38 36 0a 54 41 52 47 45 54 45 58 54 45  =ix86.TARGETEXTE
e750: 4e 44 3d 0a 65 6e 64 69 66 0a 0a 23 20 64 65 66  ND=.endif..# def
e760: 69 6e 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20  ine the project 
e770: 64 69 72 65 63 74 6f 72 69 65 73 0a 42 3d 2e 2e  directories.B=..
e780: 0a 53 52 43 44 49 52 3d 24 28 42 29 2f 73 72 63  .SRCDIR=$(B)/src
e790: 2f 0a 57 49 4e 44 49 52 3d 24 28 42 29 2f 77 69  /.WINDIR=$(B)/wi
e7a0: 6e 2f 0a 5a 4c 49 42 53 52 43 44 49 52 3d 2e 2e  n/.ZLIBSRCDIR=..
e7b0: 2f 2e 2e 2f 7a 6c 69 62 2f 0a 0a 23 20 64 65 66  /../zlib/..# def
e7c0: 69 6e 65 20 6c 69 6e 6b 65 72 20 63 6f 6d 6d 61  ine linker comma
e7d0: 6e 64 20 61 6e 64 20 6f 70 74 69 6f 6e 73 0a 4c  nd and options.L
e7e0: 49 4e 4b 3d 24 28 50 65 6c 6c 65 73 43 44 69 72  INK=$(PellesCDir
e7f0: 29 2f 62 69 6e 2f 70 6f 6c 69 6e 6b 2e 65 78 65  )/bin/polink.exe
e800: 0a 4c 49 4e 4b 46 4c 41 47 53 3d 2d 73 75 62 73  .LINKFLAGS=-subs
e810: 79 73 74 65 6d 3a 63 6f 6e 73 6f 6c 65 20 2d 6d  ystem:console -m
e820: 61 63 68 69 6e 65 3a 24 28 54 41 52 47 45 54 4d  achine:$(TARGETM
e830: 41 43 48 49 4e 45 5f 4c 4e 29 20 2f 4c 49 42 50  ACHINE_LN) /LIBP
e840: 41 54 48 3a 24 28 50 65 6c 6c 65 73 43 44 69 72  ATH:$(PellesCDir
e850: 29 5c 6c 69 62 5c 77 69 6e 24 28 54 41 52 47 45  )\lib\win$(TARGE
e860: 54 45 58 54 45 4e 44 29 20 2f 4c 49 42 50 41 54  TEXTEND) /LIBPAT
e870: 48 3a 24 28 50 65 6c 6c 65 73 43 44 69 72 29 5c  H:$(PellesCDir)\
e880: 6c 69 62 20 6b 65 72 6e 65 6c 33 32 2e 6c 69 62  lib kernel32.lib
e890: 20 61 64 76 61 70 69 33 32 2e 6c 69 62 20 64 65   advapi32.lib de
e8a0: 6c 61 79 69 6d 70 24 28 54 41 52 47 45 54 45 58  layimp$(TARGETEX
e8b0: 54 45 4e 44 29 2e 6c 69 62 20 57 73 6f 63 6b 33  TEND).lib Wsock3
e8c0: 32 2e 6c 69 62 20 43 72 74 6d 74 24 28 54 41 52  2.lib Crtmt$(TAR
e8d0: 47 45 54 45 58 54 45 4e 44 29 2e 6c 69 62 0a 0a  GETEXTEND).lib..
e8e0: 23 20 64 65 66 69 6e 65 20 73 74 61 6e 64 61 72  # define standar
e8f0: 64 20 43 2d 63 6f 6d 70 69 6c 65 72 20 61 6e 64  d C-compiler and
e900: 20 66 6c 61 67 73 2c 20 75 73 65 64 20 74 6f 20   flags, used to 
e910: 63 6f 6d 70 69 6c 65 0a 23 20 74 68 65 20 66 6f  compile.# the fo
e920: 73 73 69 6c 20 62 69 6e 61 72 79 2e 20 53 6f 6d  ssil binary. Som
e930: 65 20 73 70 65 63 69 61 6c 20 64 65 66 69 6e 69  e special defini
e940: 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 20 66 6f 72  tions follow for
e950: 0a 23 20 73 70 65 63 69 61 6c 20 66 69 6c 65 73  .# special files
e960: 20 66 6f 6c 6c 6f 77 0a 43 43 3d 24 28 50 65 6c   follow.CC=$(Pel
e970: 6c 65 73 43 44 69 72 29 5c 62 69 6e 5c 70 6f 63  lesCDir)\bin\poc
e980: 63 2e 65 78 65 0a 44 45 46 49 4e 45 53 3d 2d 44  c.exe.DEFINES=-D
e990: 5f 70 67 6d 70 74 72 3d 67 2e 61 72 67 76 5b 30  _pgmptr=g.argv[0
e9a0: 5d 0a 43 43 46 4c 41 47 53 3d 2d 54 24 28 54 41  ].CCFLAGS=-T$(TA
e9b0: 52 47 45 54 4d 41 43 48 49 4e 45 5f 43 43 29 2d  RGETMACHINE_CC)-
e9c0: 63 6f 66 66 20 2d 4f 74 20 2d 57 32 20 2d 47 64  coff -Ot -W2 -Gd
e9d0: 20 2d 47 6f 20 2d 5a 65 20 2d 4d 54 20 24 28 44   -Go -Ze -MT $(D
e9e0: 45 46 49 4e 45 53 29 0a 49 4e 43 4c 55 44 45 3d  EFINES).INCLUDE=
e9f0: 2f 49 20 24 28 50 65 6c 6c 65 73 43 44 69 72 29  /I $(PellesCDir)
ea00: 5c 49 6e 63 6c 75 64 65 5c 57 69 6e 20 2f 49 20  \Include\Win /I 
ea10: 24 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 49 6e  $(PellesCDir)\In
ea20: 63 6c 75 64 65 20 2f 49 20 24 28 5a 4c 49 42 53  clude /I $(ZLIBS
ea30: 52 43 44 49 52 29 20 2f 49 20 24 28 53 52 43 44  RCDIR) /I $(SRCD
ea40: 49 52 29 0a 0a 23 20 64 65 66 69 6e 65 20 63 6f  IR)..# define co
ea50: 6d 6d 61 6e 64 73 20 66 6f 72 20 62 75 69 6c 64  mmands for build
ea60: 69 6e 67 20 74 68 65 20 77 69 6e 64 6f 77 73 20  ing the windows 
ea70: 72 65 73 6f 75 72 63 65 20 66 69 6c 65 73 0a 52  resource files.R
ea80: 45 53 4f 55 52 43 45 3d 66 6f 73 73 69 6c 2e 72  ESOURCE=fossil.r
ea90: 65 73 0a 52 43 3d 24 28 50 65 6c 6c 65 73 43 44  es.RC=$(PellesCD
eaa0: 69 72 29 5c 62 69 6e 5c 70 6f 72 63 2e 65 78 65  ir)\bin\porc.exe
eab0: 0a 52 43 46 4c 41 47 53 3d 24 28 49 4e 43 4c 55  .RCFLAGS=$(INCLU
eac0: 44 45 29 20 2d 44 5f 5f 50 4f 43 43 5f 5f 3d 31  DE) -D__POCC__=1
ead0: 20 2d 44 5f 4d 5f 58 24 28 54 41 52 47 45 54 56   -D_M_X$(TARGETV
eae0: 45 52 53 49 4f 4e 29 0a 0a 23 20 64 65 66 69 6e  ERSION)..# defin
eaf0: 65 20 74 68 65 20 73 70 65 63 69 61 6c 20 75 74  e the special ut
eb00: 69 6c 69 74 69 65 73 20 66 69 6c 65 73 2c 20 6e  ilities files, n
eb10: 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74  eeded to generat
eb20: 65 0a 23 20 74 68 65 20 61 75 74 6f 6d 61 74 69  e.# the automati
eb30: 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 20  cally generated 
eb40: 73 6f 75 72 63 65 20 66 69 6c 65 73 0a 55 54 49  source files.UTI
eb50: 4c 53 3d 74 72 61 6e 73 6c 61 74 65 2e 65 78 65  LS=translate.exe
eb60: 20 6d 6b 69 6e 64 65 78 2e 65 78 65 20 6d 61 6b   mkindex.exe mak
eb70: 65 68 65 61 64 65 72 73 2e 65 78 65 20 6d 6b 62  eheaders.exe mkb
eb80: 75 69 6c 74 69 6e 2e 65 78 65 0a 55 54 49 4c 53  uiltin.exe.UTILS
eb90: 5f 4f 42 4a 3d 24 28 55 54 49 4c 53 3a 2e 65 78  _OBJ=$(UTILS:.ex
eba0: 65 3d 2e 6f 62 6a 29 0a 55 54 49 4c 53 5f 53 52  e=.obj).UTILS_SR
ebb0: 43 3d 24 28 66 6f 72 65 61 63 68 20 75 66 2c 24  C=$(foreach uf,$
ebc0: 28 55 54 49 4c 53 29 2c 24 28 53 52 43 44 49 52  (UTILS),$(SRCDIR
ebd0: 29 24 28 75 66 3a 2e 65 78 65 3d 2e 63 29 29 0a  )$(uf:.exe=.c)).
ebe0: 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 53 51  .# define the SQ
ebf0: 4c 69 74 65 20 66 69 6c 65 73 2c 20 77 68 69 63  Lite files, whic
ec00: 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20 66  h need special f
ec10: 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 0a  lags on compile.
ec20: 53 51 4c 49 54 45 53 52 43 3d 73 71 6c 69 74 65  SQLITESRC=sqlite
ec30: 33 2e 63 0a 4f 52 49 47 53 51 4c 49 54 45 53 52  3.c.ORIGSQLITESR
ec40: 43 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24  C=$(foreach sf,$
ec50: 28 53 51 4c 49 54 45 53 52 43 29 2c 24 28 53 52  (SQLITESRC),$(SR
ec60: 43 44 49 52 29 24 28 73 66 29 29 0a 53 51 4c 49  CDIR)$(sf)).SQLI
ec70: 54 45 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68 20  TEOBJ=$(foreach 
ec80: 73 66 2c 24 28 53 51 4c 49 54 45 53 52 43 29 2c  sf,$(SQLITESRC),
ec90: 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 0a 53  $(sf:.c=.obj)).S
eca0: 51 4c 49 54 45 44 45 46 49 4e 45 53 3d 3c 3c 3c  QLITEDEFINES=<<<
ecb0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 3e 3e  SQLITE_OPTIONS>>
ecc0: 3e 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20  >..# define the 
ecd0: 53 51 4c 69 74 65 20 73 68 65 6c 6c 20 66 69 6c  SQLite shell fil
ece0: 65 73 2c 20 77 68 69 63 68 20 6e 65 65 64 20 73  es, which need s
ecf0: 70 65 63 69 61 6c 20 66 6c 61 67 73 20 6f 6e 20  pecial flags on 
ed00: 63 6f 6d 70 69 6c 65 0a 53 51 4c 49 54 45 53 48  compile.SQLITESH
ed10: 45 4c 4c 53 52 43 3d 73 68 65 6c 6c 2e 63 0a 4f  ELLSRC=shell.c.O
ed20: 52 49 47 53 51 4c 49 54 45 53 48 45 4c 4c 53 52  RIGSQLITESHELLSR
ed30: 43 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24  C=$(foreach sf,$
ed40: 28 53 51 4c 49 54 45 53 48 45 4c 4c 53 52 43 29  (SQLITESHELLSRC)
ed50: 2c 24 28 53 52 43 44 49 52 29 24 28 73 66 29 29  ,$(SRCDIR)$(sf))
ed60: 0a 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 3d  .SQLITESHELLOBJ=
ed70: 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 53  $(foreach sf,$(S
ed80: 51 4c 49 54 45 53 48 45 4c 4c 53 52 43 29 2c 24  QLITESHELLSRC),$
ed90: 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 0a 53 51  (sf:.c=.obj)).SQ
eda0: 4c 49 54 45 53 48 45 4c 4c 44 45 46 49 4e 45 53  LITESHELLDEFINES
edb0: 3d 3c 3c 3c 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e  =<<<SHELL_OPTION
edc0: 53 3e 3e 3e 0a 0a 23 20 64 65 66 69 6e 65 20 74  S>>>..# define t
edd0: 68 65 20 74 68 20 73 63 72 69 70 74 69 6e 67 20  he th scripting 
ede0: 66 69 6c 65 73 2c 20 77 68 69 63 68 20 6e 65 65  files, which nee
edf0: 64 20 73 70 65 63 69 61 6c 20 66 6c 61 67 73 20  d special flags 
ee00: 6f 6e 20 63 6f 6d 70 69 6c 65 0a 54 48 53 52 43  on compile.THSRC
ee10: 3d 74 68 2e 63 20 74 68 5f 6c 61 6e 67 2e 63 0a  =th.c th_lang.c.
ee20: 4f 52 49 47 54 48 53 52 43 3d 24 28 66 6f 72 65  ORIGTHSRC=$(fore
ee30: 61 63 68 20 73 66 2c 24 28 54 48 53 52 43 29 2c  ach sf,$(THSRC),
ee40: 24 28 53 52 43 44 49 52 29 24 28 73 66 29 29 0a  $(SRCDIR)$(sf)).
ee50: 54 48 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68 20  THOBJ=$(foreach 
ee60: 73 66 2c 24 28 54 48 53 52 43 29 2c 24 28 73 66  sf,$(THSRC),$(sf
ee70: 3a 2e 63 3d 2e 6f 62 6a 29 29 0a 0a 23 20 64 65  :.c=.obj))..# de
ee80: 66 69 6e 65 20 74 68 65 20 7a 6c 69 62 20 66 69  fine the zlib fi
ee90: 6c 65 73 2c 20 6e 65 65 64 65 64 20 62 79 20 74  les, needed by t
eea0: 68 69 73 20 63 6f 6d 70 69 6c 65 0a 5a 4c 49 42  his compile.ZLIB
eeb0: 53 52 43 3d 61 64 6c 65 72 33 32 2e 63 20 63 6f  SRC=adler32.c co
eec0: 6d 70 72 65 73 73 2e 63 20 63 72 63 33 32 2e 63  mpress.c crc32.c
eed0: 20 64 65 66 6c 61 74 65 2e 63 20 67 7a 63 6c 6f   deflate.c gzclo
eee0: 73 65 2e 63 20 67 7a 6c 69 62 2e 63 20 67 7a 72  se.c gzlib.c gzr
eef0: 65 61 64 2e 63 20 67 7a 77 72 69 74 65 2e 63 20  ead.c gzwrite.c 
ef00: 69 6e 66 62 61 63 6b 2e 63 20 69 6e 66 66 61 73  infback.c inffas
ef10: 74 2e 63 20 69 6e 66 6c 61 74 65 2e 63 20 69 6e  t.c inflate.c in
ef20: 66 74 72 65 65 73 2e 63 20 74 72 65 65 73 2e 63  ftrees.c trees.c
ef30: 20 75 6e 63 6f 6d 70 72 2e 63 20 7a 75 74 69 6c   uncompr.c zutil
ef40: 2e 63 0a 4f 52 49 47 5a 4c 49 42 53 52 43 3d 24  .c.ORIGZLIBSRC=$
ef50: 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 5a 4c  (foreach sf,$(ZL
ef60: 49 42 53 52 43 29 2c 24 28 5a 4c 49 42 53 52 43  IBSRC),$(ZLIBSRC
ef70: 44 49 52 29 24 28 73 66 29 29 0a 5a 4c 49 42 4f  DIR)$(sf)).ZLIBO
ef80: 42 4a 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c  BJ=$(foreach sf,
ef90: 24 28 5a 4c 49 42 53 52 43 29 2c 24 28 73 66 3a  $(ZLIBSRC),$(sf:
efa0: 2e 63 3d 2e 6f 62 6a 29 29 0a 0a 23 20 64 65 66  .c=.obj))..# def
efb0: 69 6e 65 20 61 6c 6c 20 66 6f 73 73 69 6c 20 73  ine all fossil s
efc0: 6f 75 72 63 65 73 2c 20 75 73 69 6e 67 20 74 68  ources, using th
efd0: 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d 70 69  e standard compi
efe0: 6c 65 20 61 6e 64 0a 23 20 73 6f 75 72 63 65 20  le and.# source 
eff0: 67 65 6e 65 72 61 74 69 6f 6e 2e 20 54 68 65 73  generation. Thes
f000: 65 20 61 72 65 20 61 6c 6c 20 66 69 6c 65 73 20  e are all files 
f010: 69 6e 20 53 52 43 44 49 52 2c 20 77 68 69 63 68  in SRCDIR, which
f020: 20 61 72 65 20 6e 6f 74 0a 23 20 6d 65 6e 74 69   are not.# menti
f030: 6f 6e 65 64 20 61 73 20 73 70 65 63 69 61 6c 20  oned as special 
f040: 66 69 6c 65 73 20 61 62 6f 76 65 3a 0a 4f 52 49  files above:.ORI
f050: 47 53 52 43 3d 24 28 66 69 6c 74 65 72 2d 6f 75  GSRC=$(filter-ou
f060: 74 20 24 28 55 54 49 4c 53 5f 53 52 43 29 20 24  t $(UTILS_SRC) $
f070: 28 4f 52 49 47 54 48 53 52 43 29 20 24 28 4f 52  (ORIGTHSRC) $(OR
f080: 49 47 53 51 4c 49 54 45 53 52 43 29 20 24 28 4f  IGSQLITESRC) $(O
f090: 52 49 47 53 51 4c 49 54 45 53 48 45 4c 4c 53 52  RIGSQLITESHELLSR
f0a0: 43 29 2c 24 28 77 69 6c 64 63 61 72 64 20 24 28  C),$(wildcard $(
f0b0: 53 52 43 44 49 52 29 2a 2e 63 29 29 0a 53 52 43  SRCDIR)*.c)).SRC
f0c0: 3d 24 28 73 75 62 73 74 20 24 28 53 52 43 44 49  =$(subst $(SRCDI
f0d0: 52 29 2c 2c 24 28 4f 52 49 47 53 52 43 29 29 0a  R),,$(ORIGSRC)).
f0e0: 54 52 41 4e 53 4c 41 54 45 44 53 52 43 3d 24 28  TRANSLATEDSRC=$(
f0f0: 53 52 43 3a 2e 63 3d 5f 2e 63 29 0a 54 52 41 4e  SRC:.c=_.c).TRAN
f100: 53 4c 41 54 45 44 4f 42 4a 3d 24 28 54 52 41 4e  SLATEDOBJ=$(TRAN
f110: 53 4c 41 54 45 44 53 52 43 3a 2e 63 3d 2e 6f 62  SLATEDSRC:.c=.ob
f120: 6a 29 0a 0a 23 20 6d 61 69 6e 20 74 61 72 67 65  j)..# main targe
f130: 74 20 66 69 6c 65 20 69 73 20 74 68 65 20 61 70  t file is the ap
f140: 70 6c 69 63 61 74 69 6f 6e 0a 41 50 50 4c 49 43  plication.APPLIC
f150: 41 54 49 4f 4e 3d 66 6f 73 73 69 6c 2e 65 78 65  ATION=fossil.exe
f160: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 73  ..# define the s
f170: 74 61 6e 64 61 72 64 20 6d 61 6b 65 20 74 61 72  tandard make tar
f180: 67 65 74 0a 2e 50 48 4f 4e 59 3a 09 64 65 66 61  get..PHONY:.defa
f190: 75 6c 74 0a 64 65 66 61 75 6c 74 3a 09 70 61 67  ult.default:.pag
f1a0: 65 5f 69 6e 64 65 78 2e 68 20 62 75 69 6c 74 69  e_index.h builti
f1b0: 6e 5f 64 61 74 61 2e 68 20 68 65 61 64 65 72 73  n_data.h headers
f1c0: 20 24 28 41 50 50 4c 49 43 41 54 49 4f 4e 29 0a   $(APPLICATION).
f1d0: 0a 23 20 73 79 6d 62 6f 6c 69 63 20 74 61 72 67  .# symbolic targ
f1e0: 65 74 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74  et to generate t
f1f0: 68 65 20 73 6f 75 72 63 65 20 67 65 6e 65 72 61  he source genera
f200: 74 65 20 75 74 69 6c 73 0a 2e 50 48 4f 4e 59 3a  te utils..PHONY:
f210: 09 75 74 69 6c 73 0a 75 74 69 6c 73 3a 09 24 28  .utils.utils:.$(
f220: 55 54 49 4c 53 29 0a 0a 23 20 6c 69 6e 6b 20 75  UTILS)..# link u
f230: 74 69 6c 73 0a 24 28 55 54 49 4c 53 29 20 76 65  tils.$(UTILS) ve
f240: 72 73 69 6f 6e 2e 65 78 65 3a 09 25 2e 65 78 65  rsion.exe:.%.exe
f250: 3a 09 25 2e 6f 62 6a 0a 09 24 28 4c 49 4e 4b 29  :.%.obj..$(LINK)
f260: 20 24 28 4c 49 4e 4b 46 4c 41 47 53 29 20 2d 6f   $(LINKFLAGS) -o
f270: 75 74 3a 22 24 40 22 20 24 3c 0a 0a 23 20 63 6f  ut:"$@" $<..# co
f280: 6d 70 69 6c 69 6e 67 20 73 74 61 6e 64 61 72 64  mpiling standard
f290: 20 66 6f 73 73 69 6c 20 75 74 69 6c 73 0a 24 28   fossil utils.$(
f2a0: 55 54 49 4c 53 5f 4f 42 4a 29 3a 09 25 2e 6f 62  UTILS_OBJ):.%.ob
f2b0: 6a 3a 09 24 28 53 52 43 44 49 52 29 25 2e 63 0a  j:.$(SRCDIR)%.c.
f2c0: 09 24 28 43 43 29 20 24 28 43 43 46 4c 41 47 53  .$(CC) $(CCFLAGS
f2d0: 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22 24 3c  ) $(INCLUDE) "$<
f2e0: 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20 63 6f 6d  " -Fo"$@"..# com
f2f0: 70 69 6c 65 20 73 70 65 63 69 61 6c 20 77 69 6e  pile special win
f300: 64 6f 77 73 20 75 74 69 6c 73 0a 76 65 72 73 69  dows utils.versi
f310: 6f 6e 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49 52  on.obj:.$(SRCDIR
f320: 29 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09 24 28  )mkversion.c..$(
f330: 43 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24  CC) $(CCFLAGS) $
f340: 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d  (INCLUDE) "$<" -
f350: 46 6f 22 24 40 22 0a 0a 23 20 67 65 6e 65 72 61  Fo"$@"..# genera
f360: 74 65 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65  te the translate
f370: 64 20 63 2d 73 6f 75 72 63 65 20 66 69 6c 65 73  d c-source files
f380: 0a 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43  .$(TRANSLATEDSRC
f390: 29 3a 09 25 5f 2e 63 3a 09 24 28 53 52 43 44 49  ):.%_.c:.$(SRCDI
f3a0: 52 29 25 2e 63 20 74 72 61 6e 73 6c 61 74 65 2e  R)%.c translate.
f3b0: 65 78 65 0a 09 74 72 61 6e 73 6c 61 74 65 2e 65  exe..translate.e
f3c0: 78 65 20 24 3c 20 3e 24 40 0a 0a 23 20 67 65 6e  xe $< >$@..# gen
f3d0: 65 72 61 74 65 20 74 68 65 20 69 6e 64 65 78 20  erate the index 
f3e0: 73 6f 75 72 63 65 2c 20 63 6f 6e 74 61 69 6e 69  source, containi
f3f0: 6e 67 20 61 6c 6c 20 77 65 62 20 72 65 66 65 72  ng all web refer
f400: 65 6e 63 65 73 2c 2e 2e 0a 70 61 67 65 5f 69 6e  ences,...page_in
f410: 64 65 78 2e 68 3a 09 24 28 54 52 41 4e 53 4c 41  dex.h:.$(TRANSLA
f420: 54 45 44 53 52 43 29 20 6d 6b 69 6e 64 65 78 2e  TEDSRC) mkindex.
f430: 65 78 65 0a 09 6d 6b 69 6e 64 65 78 2e 65 78 65  exe..mkindex.exe
f440: 20 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43   $(TRANSLATEDSRC
f450: 29 20 3e 24 40 0a 0a 62 75 69 6c 74 69 6e 5f 64  ) >$@..builtin_d
f460: 61 74 61 2e 68 3a 09 24 28 45 58 54 52 41 5f 46  ata.h:.$(EXTRA_F
f470: 49 4c 45 53 29 20 6d 6b 62 75 69 6c 74 69 6e 2e  ILES) mkbuiltin.
f480: 65 78 65 0a 09 6d 6b 62 75 69 6c 74 69 6e 2e 65  exe..mkbuiltin.e
f490: 78 65 20 2d 2d 70 72 65 66 69 78 20 24 28 53 52  xe --prefix $(SR
f4a0: 43 44 49 52 29 2f 20 24 28 45 58 54 52 41 5f 46  CDIR)/ $(EXTRA_F
f4b0: 49 4c 45 53 29 20 3e 24 40 0a 0a 23 20 65 78 74  ILES) >$@..# ext
f4c0: 72 61 63 74 69 6e 67 20 76 65 72 73 69 6f 6e 20  racting version 
f4d0: 69 6e 66 6f 20 66 72 6f 6d 20 6d 61 6e 69 66 65  info from manife
f4e0: 73 74 0a 56 45 52 53 49 4f 4e 2e 68 3a 09 76 65  st.VERSION.h:.ve
f4f0: 72 73 69 6f 6e 2e 65 78 65 20 2e 2e 5c 6d 61 6e  rsion.exe ..\man
f500: 69 66 65 73 74 2e 75 75 69 64 20 2e 2e 5c 6d 61  ifest.uuid ..\ma
f510: 6e 69 66 65 73 74 20 2e 2e 5c 56 45 52 53 49 4f  nifest ..\VERSIO
f520: 4e 0a 09 76 65 72 73 69 6f 6e 2e 65 78 65 20 2e  N..version.exe .
f530: 2e 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20  .\manifest.uuid 
f540: 2e 2e 5c 6d 61 6e 69 66 65 73 74 20 2e 2e 5c 56  ..\manifest ..\V
f550: 45 52 53 49 4f 4e 20 20 3e 24 40 0a 0a 64 65 66  ERSION  >$@..def
f560: 61 75 6c 74 5f 63 73 73 2e 68 3a 09 6d 6b 63 73  ault_css.h:.mkcs
f570: 73 2e 65 78 65 20 64 65 66 61 75 6c 74 5f 63 73  s.exe default_cs
f580: 73 2e 74 78 74 0a 09 6d 6b 63 73 73 2e 65 78 65  s.txt..mkcss.exe
f590: 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74   default_css.txt
f5a0: 20 24 40 0a 0a 23 20 67 65 6e 65 72 61 74 65 20   $@..# generate 
f5b0: 74 68 65 20 73 69 6d 70 6c 69 66 69 65 64 20 68  the simplified h
f5c0: 65 61 64 65 72 73 0a 68 65 61 64 65 72 73 3a 20  eaders.headers: 
f5d0: 6d 61 6b 65 68 65 61 64 65 72 73 2e 65 78 65 20  makeheaders.exe 
f5e0: 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 62 75 69  page_index.h bui
f5f0: 6c 74 69 6e 5f 64 61 74 61 2e 68 20 64 65 66 61  ltin_data.h defa
f600: 75 6c 74 5f 63 73 73 2e 68 20 56 45 52 53 49 4f  ult_css.h VERSIO
f610: 4e 2e 68 20 2e 2e 2f 73 72 63 2f 73 71 6c 69 74  N.h ../src/sqlit
f620: 65 33 2e 68 20 2e 2e 2f 73 72 63 2f 74 68 2e 68  e3.h ../src/th.h
f630: 0a 09 6d 61 6b 65 68 65 61 64 65 72 73 2e 65 78  ..makeheaders.ex
f640: 65 20 24 28 66 6f 72 65 61 63 68 20 74 73 2c 24  e $(foreach ts,$
f650: 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43 29 2c  (TRANSLATEDSRC),
f660: 24 28 74 73 29 3a 24 28 74 73 3a 5f 2e 63 3d 2e  $(ts):$(ts:_.c=.
f670: 68 29 29 20 2e 2e 2f 73 72 63 2f 73 71 6c 69 74  h)) ../src/sqlit
f680: 65 33 2e 68 20 2e 2e 2f 73 72 63 2f 74 68 2e 68  e3.h ../src/th.h
f690: 20 56 45 52 53 49 4f 4e 2e 68 0a 09 65 63 68 6f   VERSION.h..echo
f6a0: 20 44 6f 6e 65 20 3e 24 40 0a 0a 23 20 63 6f 6d   Done >$@..# com
f6b0: 70 69 6c 65 20 43 20 73 6f 75 72 63 65 73 20 77  pile C sources w
f6c0: 69 74 68 20 72 65 6c 65 76 61 6e 74 20 6f 70 74  ith relevant opt
f6d0: 69 6f 6e 73 0a 0a 24 28 54 52 41 4e 53 4c 41 54  ions..$(TRANSLAT
f6e0: 45 44 4f 42 4a 29 3a 09 25 5f 2e 6f 62 6a 3a 09  EDOBJ):.%_.obj:.
f6f0: 25 5f 2e 63 20 25 2e 68 0a 09 24 28 43 43 29 20  %_.c %.h..$(CC) 
f700: 24 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43  $(CCFLAGS) $(INC
f710: 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24  LUDE) "$<" -Fo"$
f720: 40 22 0a 0a 24 28 53 51 4c 49 54 45 4f 42 4a 29  @"..$(SQLITEOBJ)
f730: 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49  :.%.obj:.$(SRCDI
f740: 52 29 25 2e 63 20 24 28 53 52 43 44 49 52 29 25  R)%.c $(SRCDIR)%
f750: 2e 68 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c  .h..$(CC) $(CCFL
f760: 41 47 53 29 20 24 28 53 51 4c 49 54 45 44 45 46  AGS) $(SQLITEDEF
f770: 49 4e 45 53 29 20 24 28 49 4e 43 4c 55 44 45 29  INES) $(INCLUDE)
f780: 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24   "$<" -Fo"$@"..$
f790: 28 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29  (SQLITESHELLOBJ)
f7a0: 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49  :.%.obj:.$(SRCDI
f7b0: 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24 28 43  R)%.c..$(CC) $(C
f7c0: 43 46 4c 41 47 53 29 20 24 28 53 51 4c 49 54 45  CFLAGS) $(SQLITE
f7d0: 53 48 45 4c 4c 44 45 46 49 4e 45 53 29 20 24 28  SHELLDEFINES) $(
f7e0: 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46  INCLUDE) "$<" -F
f7f0: 6f 22 24 40 22 0a 0a 24 28 54 48 4f 42 4a 29 3a  o"$@"..$(THOBJ):
f800: 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49 52  .%.obj:.$(SRCDIR
f810: 29 25 2e 63 20 24 28 53 52 43 44 49 52 29 74 68  )%.c $(SRCDIR)th
f820: 2e 68 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c  .h..$(CC) $(CCFL
f830: 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20  AGS) $(INCLUDE) 
f840: 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24 28  "$<" -Fo"$@"..$(
f850: 5a 4c 49 42 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a  ZLIBOBJ):.%.obj:
f860: 09 24 28 5a 4c 49 42 53 52 43 44 49 52 29 25 2e  .$(ZLIBSRCDIR)%.
f870: 63 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c 41  c..$(CC) $(CCFLA
f880: 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22  GS) $(INCLUDE) "
f890: 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20 63  $<" -Fo"$@"..# c
f8a0: 72 65 61 74 65 20 74 68 65 20 77 69 6e 64 6f 77  reate the window
f8b0: 73 20 72 65 73 6f 75 72 63 65 20 77 69 74 68 20  s resource with 
f8c0: 69 63 6f 6e 20 61 6e 64 20 76 65 72 73 69 6f 6e  icon and version
f8d0: 20 69 6e 66 6f 0a 24 28 52 45 53 4f 55 52 43 45   info.$(RESOURCE
f8e0: 29 3a 09 25 2e 72 65 73 3a 09 2e 2e 2f 77 69 6e  ):.%.res:.../win
f8f0: 2f 25 2e 72 63 20 2e 2e 2f 77 69 6e 2f 2a 2e 69  /%.rc ../win/*.i
f900: 63 6f 0a 09 24 28 52 43 29 20 24 28 52 43 46 4c  co..$(RC) $(RCFL
f910: 41 47 53 29 20 24 3c 20 2d 46 6f 22 24 40 22 0a  AGS) $< -Fo"$@".
f920: 0a 23 20 6c 69 6e 6b 20 74 68 65 20 61 70 70 6c  .# link the appl
f930: 69 63 61 74 69 6f 6e 0a 24 28 41 50 50 4c 49 43  ication.$(APPLIC
f940: 41 54 49 4f 4e 29 3a 09 24 28 54 52 41 4e 53 4c  ATION):.$(TRANSL
f950: 41 54 45 44 4f 42 4a 29 20 24 28 53 51 4c 49 54  ATEDOBJ) $(SQLIT
f960: 45 4f 42 4a 29 20 24 28 53 51 4c 49 54 45 53 48  EOBJ) $(SQLITESH
f970: 45 4c 4c 4f 42 4a 29 20 24 28 54 48 4f 42 4a 29  ELLOBJ) $(THOBJ)
f980: 20 24 28 5a 4c 49 42 4f 42 4a 29 20 68 65 61 64   $(ZLIBOBJ) head
f990: 65 72 73 20 24 28 52 45 53 4f 55 52 43 45 29 0a  ers $(RESOURCE).
f9a0: 09 24 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b 46  .$(LINK) $(LINKF
f9b0: 4c 41 47 53 29 20 2d 6f 75 74 3a 22 24 40 22 20  LAGS) -out:"$@" 
f9c0: 24 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29  $(TRANSLATEDOBJ)
f9d0: 20 24 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28   $(SQLITEOBJ) $(
f9e0: 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29 20  SQLITESHELLOBJ) 
f9f0: 24 28 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f  $(THOBJ) $(ZLIBO
fa00: 42 4a 29 20 24 28 52 45 53 4f 55 52 43 45 29 0a  BJ) $(RESOURCE).
fa10: 0a 23 20 63 6c 65 61 6e 75 70 0a 0a 2e 50 48 4f  .# cleanup...PHO
fa20: 4e 59 3a 20 63 6c 65 61 6e 0a 63 6c 65 61 6e 3a  NY: clean.clean:
fa30: 0a 09 64 65 6c 20 2f 46 20 24 28 54 52 41 4e 53  ..del /F $(TRANS
fa40: 4c 41 54 45 44 4f 42 4a 29 20 24 28 53 51 4c 49  LATEDOBJ) $(SQLI
fa50: 54 45 4f 42 4a 29 20 24 28 54 48 4f 42 4a 29 20  TEOBJ) $(THOBJ) 
fa60: 24 28 5a 4c 49 42 4f 42 4a 29 20 24 28 55 54 49  $(ZLIBOBJ) $(UTI
fa70: 4c 53 5f 4f 42 4a 29 20 76 65 72 73 69 6f 6e 2e  LS_OBJ) version.
fa80: 6f 62 6a 0a 09 64 65 6c 20 2f 46 20 24 28 54 52  obj..del /F $(TR
fa90: 41 4e 53 4c 41 54 45 44 53 52 43 29 0a 09 64 65  ANSLATEDSRC)..de
faa0: 6c 20 2f 46 20 2a 2e 68 20 68 65 61 64 65 72 73  l /F *.h headers
fab0: 0a 09 64 65 6c 20 2f 46 20 24 28 52 45 53 4f 55  ..del /F $(RESOU
fac0: 52 43 45 29 0a 0a 2e 50 48 4f 4e 59 3a 20 63 6c  RCE)...PHONY: cl
fad0: 6f 62 62 65 72 0a 63 6c 6f 62 62 65 72 3a 20 63  obber.clobber: c
fae0: 6c 65 61 6e 0a 09 64 65 6c 20 2f 46 20 2a 2e 65  lean..del /F *.e
faf0: 78 65 0a 7d 5d 0a                                xe.}].