Fossil

Hex Artifact Content
Login

Artifact a51f2efc066f05fe62d750761e8187c4a4f7097b56bf74c42e26e10297f0d501:


0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68  #!/usr/bin/tclsh
0010: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 54 63  .#.# Run this Tc
0020: 6c 20 73 63 72 69 70 74 20 74 6f 20 67 65 6e 65  l script to gene
0030: 72 61 74 65 20 74 68 65 20 76 61 72 69 6f 75 73  rate the various
0040: 20 6d 61 6b 65 66 69 6c 65 73 20 66 6f 72 20 61   makefiles for a
0050: 20 76 61 72 69 65 74 79 0a 23 20 6f 66 20 70 6c   variety.# of pl
0060: 61 74 66 6f 72 6d 73 2e 20 20 46 69 6c 65 73 20  atforms.  Files 
0070: 67 65 6e 65 72 61 74 65 64 20 69 6e 63 6c 75 64  generated includ
0080: 65 3a 0a 23 0a 23 20 20 20 20 20 73 72 63 2f 6d  e:.#.#     src/m
0090: 61 69 6e 2e 6d 6b 20 20 20 20 20 20 20 20 20 20  ain.mk          
00a0: 20 23 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20   # makefile for 
00b0: 61 6c 6c 20 75 6e 69 78 20 73 79 73 74 65 6d 73  all unix systems
00c0: 0a 23 20 20 20 20 20 77 69 6e 2f 4d 61 6b 65 66  .#     win/Makef
00d0: 69 6c 65 2e 6d 69 6e 67 77 20 20 20 20 23 20 6d  ile.mingw    # m
00e0: 61 6b 65 66 69 6c 65 20 66 6f 72 20 6d 69 6e 67  akefile for ming
00f0: 77 20 6f 6e 20 77 69 6e 64 6f 77 73 0a 23 20 20  w on windows.#  
0100: 20 20 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e     win/Makefile.
0110: 2a 20 20 20 20 20 20 20 20 23 20 6d 61 6b 65 66  *        # makef
0120: 69 6c 65 73 20 66 6f 72 20 6f 74 68 65 72 20 77  iles for other w
0130: 69 6e 64 6f 77 73 20 63 6f 6d 70 69 6c 65 72 73  indows compilers
0140: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63  .#.# Run this sc
0150: 72 69 70 74 20 77 68 69 6c 65 20 69 6e 20 74 68  ript while in th
0160: 65 20 22 73 72 63 22 20 73 75 62 64 69 72 65 63  e "src" subdirec
0170: 74 6f 72 79 2e 20 20 4c 69 6b 65 20 74 68 69 73  tory.  Like this
0180: 3a 0a 23 0a 23 20 20 20 20 20 20 74 63 6c 73 68  :.#.#      tclsh
0190: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 0a 23 0a   makemake.tcl.#.
01a0: 23 20 41 64 64 20 6e 65 77 20 73 6f 75 72 63 65  # Add new source
01b0: 20 66 69 6c 65 73 20 62 79 20 6c 69 73 74 69 6e   files by listin
01c0: 67 20 74 68 65 20 66 69 6c 65 73 20 28 77 69 74  g the files (wit
01d0: 68 6f 75 74 20 74 68 65 69 72 20 2e 63 20 73 75  hout their .c su
01e0: 66 66 69 78 29 0a 23 20 69 6e 20 74 68 65 20 22  ffix).# in the "
01f0: 73 72 63 22 20 76 61 72 69 61 62 6c 65 2e 20 20  src" variable.  
0200: 41 64 64 20 6e 65 77 20 72 65 73 6f 75 72 63 65  Add new resource
0210: 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 22 65   files to the "e
0220: 78 74 72 61 5f 66 69 6c 65 73 22 0a 23 20 76 61  xtra_files".# va
0230: 72 69 61 62 6c 65 2e 20 20 54 68 65 72 65 20 61  riable.  There a
0240: 72 65 20 6f 74 68 65 72 20 76 61 72 69 61 62 6c  re other variabl
0250: 65 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20  es that you can 
0260: 61 6c 74 65 72 2c 20 64 6f 77 6e 20 74 6f 0a 23  alter, down to.#
0270: 20 74 68 65 20 22 53 54 4f 50 20 48 45 52 45 22   the "STOP HERE"
0280: 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 73   comment.  The s
0290: 74 75 66 66 20 62 65 6c 6f 77 20 22 53 54 4f 50  tuff below "STOP
02a0: 20 48 45 52 45 22 20 73 68 6f 75 6c 64 20 72 61   HERE" should ra
02b0: 72 65 6c 79 20 6e 65 65 64 0a 23 20 74 6f 20 63  rely need.# to c
02c0: 68 61 6e 67 65 2e 0a 23 0a 23 23 23 23 23 23 23  hange..#.#######
02d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0310: 23 23 23 23 23 23 0a 0a 23 20 42 61 73 65 6e 61  ######..# Basena
0320: 6d 65 73 20 6f 66 20 61 6c 6c 20 73 6f 75 72 63  mes of all sourc
0330: 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74  e files that get
0340: 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 75 73   preprocessed us
0350: 69 6e 67 0a 23 20 22 74 72 61 6e 73 6c 61 74 65  ing.# "translate
0360: 22 20 61 6e 64 20 22 6d 61 6b 65 68 65 61 64 65  " and "makeheade
0370: 72 73 22 2e 20 20 54 6f 20 61 64 64 20 6e 65 77  rs".  To add new
0380: 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72   C-language sour
0390: 63 65 20 66 69 6c 65 73 20 74 6f 20 74 68 65 0a  ce files to the.
03a0: 23 20 70 72 6f 6a 65 63 74 2c 20 73 69 6d 70 6c  # project, simpl
03b0: 79 20 61 64 64 20 74 68 65 20 62 61 73 65 6e 61  y add the basena
03c0: 6d 65 20 74 6f 20 74 68 69 73 20 6c 69 73 74 20  me to this list 
03d0: 61 6e 64 20 72 65 72 75 6e 20 74 68 69 73 20 73  and rerun this s
03e0: 63 72 69 70 74 2e 0a 23 0a 23 20 53 65 74 20 74  cript..#.# Set t
03f0: 68 65 20 73 65 70 61 72 61 74 65 20 65 78 74 72  he separate extr
0400: 61 5f 66 69 6c 65 73 20 76 61 72 69 61 62 6c 65  a_files variable
0410: 20 66 75 72 74 68 65 72 20 64 6f 77 6e 20 66 6f   further down fo
0420: 72 20 68 6f 77 20 74 6f 20 61 64 64 20 6e 6f 6e  r how to add non
0430: 2d 43 0a 23 20 66 69 6c 65 73 2c 20 73 75 63 68  -C.# files, such
0440: 20 61 73 20 73 74 72 69 6e 67 20 61 6e 64 20 42   as string and B
0450: 4c 4f 42 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  LOB resources..#
0460: 0a 73 65 74 20 73 72 63 20 7b 0a 20 20 61 64 64  .set src {.  add
0470: 0a 20 20 61 6c 6c 72 65 70 6f 0a 20 20 61 74 74  .  allrepo.  att
0480: 61 63 68 0a 20 20 62 61 67 0a 20 20 62 69 73 65  ach.  bag.  bise
0490: 63 74 0a 20 20 62 6c 6f 62 0a 20 20 62 72 61 6e  ct.  blob.  bran
04a0: 63 68 0a 20 20 62 72 6f 77 73 65 0a 20 20 62 75  ch.  browse.  bu
04b0: 69 6c 74 69 6e 0a 20 20 62 75 6e 64 6c 65 0a 20  iltin.  bundle. 
04c0: 20 63 61 63 68 65 0a 20 20 63 61 70 74 63 68 61   cache.  captcha
04d0: 0a 20 20 63 67 69 0a 20 20 63 68 65 63 6b 69 6e  .  cgi.  checkin
04e0: 0a 20 20 63 68 65 63 6b 6f 75 74 0a 20 20 63 6c  .  checkout.  cl
04f0: 65 61 72 73 69 67 6e 0a 20 20 63 6c 6f 6e 65 0a  earsign.  clone.
0500: 20 20 63 6f 6d 66 6f 72 6d 61 74 0a 20 20 63 6f    comformat.  co
0510: 6e 66 69 67 75 72 65 0a 20 20 63 6f 6e 74 65 6e  nfigure.  conten
0520: 74 0a 20 20 63 6f 6f 6b 69 65 73 0a 20 20 64 62  t.  cookies.  db
0530: 0a 20 20 64 65 6c 74 61 0a 20 20 64 65 6c 74 61  .  delta.  delta
0540: 63 6d 64 0a 20 20 64 65 73 63 65 6e 64 61 6e 74  cmd.  descendant
0550: 73 0a 20 20 64 69 66 66 0a 20 20 64 69 66 66 63  s.  diff.  diffc
0560: 6d 64 0a 20 20 64 69 73 70 61 74 63 68 0a 20 20  md.  dispatch.  
0570: 64 6f 63 0a 20 20 65 6e 63 6f 64 65 0a 20 20 65  doc.  encode.  e
0580: 76 65 6e 74 0a 20 20 65 78 70 6f 72 74 0a 20 20  vent.  export.  
0590: 66 69 6c 65 0a 20 20 66 69 6e 66 6f 0a 20 20 66  file.  finfo.  f
05a0: 6f 63 69 0a 20 20 66 73 68 65 6c 6c 0a 20 20 66  oci.  fshell.  f
05b0: 75 73 65 66 73 0a 20 20 67 6c 6f 62 0a 20 20 67  usefs.  glob.  g
05c0: 72 61 70 68 0a 20 20 67 7a 69 70 0a 20 20 68 6e  raph.  gzip.  hn
05d0: 61 6d 65 0a 20 20 68 74 74 70 0a 20 20 68 74 74  ame.  http.  htt
05e0: 70 5f 73 6f 63 6b 65 74 0a 20 20 68 74 74 70 5f  p_socket.  http_
05f0: 74 72 61 6e 73 70 6f 72 74 0a 20 20 69 6d 70 6f  transport.  impo
0600: 72 74 0a 20 20 69 6e 66 6f 0a 20 20 6a 73 6f 6e  rt.  info.  json
0610: 0a 20 20 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  .  json_artifact
0620: 0a 20 20 6a 73 6f 6e 5f 62 72 61 6e 63 68 0a 20  .  json_branch. 
0630: 20 6a 73 6f 6e 5f 63 6f 6e 66 69 67 0a 20 20 6a   json_config.  j
0640: 73 6f 6e 5f 64 69 66 66 0a 20 20 6a 73 6f 6e 5f  son_diff.  json_
0650: 64 69 72 0a 20 20 6a 73 6f 6e 5f 66 69 6e 66 6f  dir.  json_finfo
0660: 0a 20 20 6a 73 6f 6e 5f 6c 6f 67 69 6e 0a 20 20  .  json_login.  
0670: 6a 73 6f 6e 5f 71 75 65 72 79 0a 20 20 6a 73 6f  json_query.  jso
0680: 6e 5f 72 65 70 6f 72 74 0a 20 20 6a 73 6f 6e 5f  n_report.  json_
0690: 73 74 61 74 75 73 0a 20 20 6a 73 6f 6e 5f 74 61  status.  json_ta
06a0: 67 0a 20 20 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e  g.  json_timelin
06b0: 65 0a 20 20 6a 73 6f 6e 5f 75 73 65 72 0a 20 20  e.  json_user.  
06c0: 6a 73 6f 6e 5f 77 69 6b 69 0a 20 20 6c 65 61 66  json_wiki.  leaf
06d0: 0a 20 20 6c 6f 61 64 63 74 72 6c 0a 20 20 6c 6f  .  loadctrl.  lo
06e0: 67 69 6e 0a 20 20 6c 6f 6f 6b 73 6c 69 6b 65 0a  gin.  lookslike.
06f0: 20 20 6d 61 69 6e 0a 20 20 6d 61 6e 69 66 65 73    main.  manifes
0700: 74 0a 20 20 6d 61 72 6b 64 6f 77 6e 0a 20 20 6d  t.  markdown.  m
0710: 61 72 6b 64 6f 77 6e 5f 68 74 6d 6c 0a 20 20 6d  arkdown_html.  m
0720: 64 35 0a 20 20 6d 65 72 67 65 0a 20 20 6d 65 72  d5.  merge.  mer
0730: 67 65 33 0a 20 20 6d 6f 64 65 72 61 74 65 0a 20  ge3.  moderate. 
0740: 20 6e 61 6d 65 0a 20 20 70 61 74 68 0a 20 20 70   name.  path.  p
0750: 69 65 63 68 61 72 74 0a 20 20 70 69 76 6f 74 0a  iechart.  pivot.
0760: 20 20 70 6f 70 65 6e 0a 20 20 70 71 75 65 75 65    popen.  pqueue
0770: 0a 20 20 70 72 69 6e 74 66 0a 20 20 70 75 62 6c  .  printf.  publ
0780: 69 73 68 0a 20 20 70 75 72 67 65 0a 20 20 72 65  ish.  purge.  re
0790: 62 75 69 6c 64 0a 20 20 72 65 67 65 78 70 0a 20  build.  regexp. 
07a0: 20 72 65 70 6f 72 74 0a 20 20 72 73 73 0a 20 20   report.  rss.  
07b0: 73 63 68 65 6d 61 0a 20 20 73 65 61 72 63 68 0a  schema.  search.
07c0: 20 20 73 65 63 75 72 69 74 79 5f 61 75 64 69 74    security_audit
07d0: 0a 20 20 73 65 74 75 70 0a 20 20 73 68 61 31 0a  .  setup.  sha1.
07e0: 20 20 73 68 61 31 68 61 72 64 0a 20 20 73 68 61    sha1hard.  sha
07f0: 33 0a 20 20 73 68 75 6e 0a 20 20 73 69 74 65 6d  3.  shun.  sitem
0800: 61 70 0a 20 20 73 6b 69 6e 73 0a 20 20 73 71 6c  ap.  skins.  sql
0810: 63 6d 64 0a 20 20 73 74 61 73 68 0a 20 20 73 74  cmd.  stash.  st
0820: 61 74 0a 20 20 73 74 61 74 72 65 70 0a 20 20 73  at.  statrep.  s
0830: 74 79 6c 65 0a 20 20 73 79 6e 63 0a 20 20 74 61  tyle.  sync.  ta
0840: 67 0a 20 20 74 61 72 0a 20 20 74 68 5f 6d 61 69  g.  tar.  th_mai
0850: 6e 0a 20 20 74 69 6d 65 6c 69 6e 65 0a 20 20 74  n.  timeline.  t
0860: 6b 74 0a 20 20 74 6b 74 73 65 74 75 70 0a 20 20  kt.  tktsetup.  
0870: 75 6e 64 6f 0a 20 20 75 6e 69 63 6f 64 65 0a 20  undo.  unicode. 
0880: 20 75 6e 76 65 72 73 69 6f 6e 65 64 0a 20 20 75   unversioned.  u
0890: 70 64 61 74 65 0a 20 20 75 72 6c 0a 20 20 75 73  pdate.  url.  us
08a0: 65 72 0a 20 20 75 74 66 38 0a 20 20 75 74 69 6c  er.  utf8.  util
08b0: 0a 20 20 76 65 72 69 66 79 0a 20 20 76 66 69 6c  .  verify.  vfil
08c0: 65 0a 20 20 77 69 6b 69 0a 20 20 77 69 6b 69 66  e.  wiki.  wikif
08d0: 6f 72 6d 61 74 0a 20 20 77 69 6e 66 69 6c 65 0a  ormat.  winfile.
08e0: 20 20 77 69 6e 68 74 74 70 0a 20 20 77 79 73 69    winhttp.  wysi
08f0: 77 79 67 0a 20 20 78 66 65 72 0a 20 20 78 66 65  wyg.  xfer.  xfe
0900: 72 73 65 74 75 70 0a 20 20 7a 69 70 0a 20 20 68  rsetup.  zip.  h
0910: 74 74 70 5f 73 73 6c 0a 7d 0a 0a 23 20 41 64 64  ttp_ssl.}..# Add
0920: 69 74 69 6f 6e 61 6c 20 72 65 73 6f 75 72 63 65  itional resource
0930: 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74 20   files that get 
0940: 62 75 69 6c 74 20 69 6e 74 6f 20 74 68 65 20 65  built into the e
0950: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 65 74  xecutable..#.set
0960: 20 65 78 74 72 61 5f 66 69 6c 65 73 20 7b 0a 20   extra_files {. 
0970: 20 64 69 66 66 2e 74 63 6c 0a 20 20 6d 61 72 6b   diff.tcl.  mark
0980: 64 6f 77 6e 2e 6d 64 0a 20 20 77 69 6b 69 2e 77  down.md.  wiki.w
0990: 69 6b 69 0a 20 20 2a 2e 6a 73 0a 20 20 2e 2e 2f  iki.  *.js.  ../
09a0: 73 6b 69 6e 73 2f 2a 2f 2a 2e 74 78 74 0a 7d 0a  skins/*/*.txt.}.
09b0: 0a 23 20 4f 70 74 69 6f 6e 73 20 75 73 65 64 20  .# Options used 
09c0: 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69  to compile the i
09d0: 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c  ncluded SQLite l
09e0: 69 62 72 61 72 79 2e 0a 23 0a 73 65 74 20 53 51  ibrary..#.set SQ
09f0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20  LITE_OPTIONS {. 
0a00: 20 2d 44 4e 44 45 42 55 47 3d 31 0a 20 20 2d 44   -DNDEBUG=1.  -D
0a10: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
0a20: 45 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44  E=0.  -DSQLITE_D
0a30: 45 46 41 55 4c 54 5f 4d 45 4d 53 54 41 54 55 53  EFAULT_MEMSTATUS
0a40: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 45  =0.  -DSQLITE_DE
0a50: 46 41 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52  FAULT_WAL_SYNCHR
0a60: 4f 4e 4f 55 53 3d 31 0a 20 20 2d 44 53 51 4c 49  ONOUS=1.  -DSQLI
0a70: 54 45 5f 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d  TE_LIKE_DOESNT_M
0a80: 41 54 43 48 5f 42 4c 4f 42 53 0a 20 20 2d 44 53  ATCH_BLOBS.  -DS
0a90: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54  QLITE_OMIT_DECLT
0aa0: 59 50 45 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f  YPE.  -DSQLITE_O
0ab0: 4d 49 54 5f 44 45 50 52 45 43 41 54 45 44 0a 20  MIT_DEPRECATED. 
0ac0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47   -DSQLITE_OMIT_G
0ad0: 45 54 5f 54 41 42 4c 45 0a 20 20 2d 44 53 51 4c  ET_TABLE.  -DSQL
0ae0: 49 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53  ITE_OMIT_PROGRES
0af0: 53 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 2d 44 53  S_CALLBACK.  -DS
0b00: 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48 41 52 45  QLITE_OMIT_SHARE
0b10: 44 5f 43 41 43 48 45 0a 20 20 2d 44 53 51 4c 49  D_CACHE.  -DSQLI
0b20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
0b30: 45 4e 53 49 4f 4e 0a 20 20 2d 44 53 51 4c 49 54  ENSION.  -DSQLIT
0b40: 45 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48  E_MAX_EXPR_DEPTH
0b50: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 55 53  =0.  -DSQLITE_US
0b60: 45 5f 41 4c 4c 4f 43 41 0a 20 20 2d 44 53 51 4c  E_ALLOCA.  -DSQL
0b70: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49  ITE_ENABLE_LOCKI
0b80: 4e 47 5f 53 54 59 4c 45 3d 30 0a 20 20 2d 44 53  NG_STYLE=0.  -DS
0b90: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49  QLITE_DEFAULT_FI
0ba0: 4c 45 5f 46 4f 52 4d 41 54 3d 34 0a 20 20 2d 44  LE_FORMAT=4.  -D
0bb0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58  SQLITE_ENABLE_EX
0bc0: 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 20  PLAIN_COMMENTS. 
0bd0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0be0: 5f 46 54 53 34 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS4.  -DSQLITE
0bf0: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 5f 50 41 52  _ENABLE_FTS3_PAR
0c00: 45 4e 54 48 45 53 49 53 0a 20 20 2d 44 53 51 4c  ENTHESIS.  -DSQL
0c10: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41  ITE_ENABLE_DBSTA
0c20: 54 5f 56 54 41 42 0a 20 20 2d 44 53 51 4c 49 54  T_VTAB.  -DSQLIT
0c30: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 20  E_ENABLE_JSON1. 
0c40: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0c50: 5f 46 54 53 35 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS5.  -DSQLITE
0c60: 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42  _ENABLE_STMTVTAB
0c70: 0a 20 20 2d 44 53 51 4c 49 54 45 5f 55 53 45 5f  .  -DSQLITE_USE_
0c80: 5a 4c 49 42 0a 20 20 2d 44 53 51 4c 49 54 45 5f  ZLIB.  -DSQLITE_
0c90: 49 4e 54 52 4f 53 50 45 43 54 49 4f 4e 5f 50 52  INTROSPECTION_PR
0ca0: 41 47 4d 41 53 0a 20 20 2d 44 53 51 4c 49 54 45  AGMAS.  -DSQLITE
0cb0: 5f 45 4e 41 42 4c 45 5f 44 42 50 41 47 45 5f 56  _ENABLE_DBPAGE_V
0cc0: 54 41 42 0a 7d 0a 23 6c 61 70 70 65 6e 64 20 53  TAB.}.#lappend S
0cd0: 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44  QLITE_OPTIONS -D
0ce0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
0cf0: 53 33 3d 31 0a 23 6c 61 70 70 65 6e 64 20 53 51  S3=1.#lappend SQ
0d00: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53  LITE_OPTIONS -DS
0d10: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41  QLITE_ENABLE_STA
0d20: 54 34 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49  T4.#lappend SQLI
0d30: 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c  TE_OPTIONS -DSQL
0d40: 49 54 45 5f 57 49 4e 33 32 5f 4e 4f 5f 41 4e 53  ITE_WIN32_NO_ANS
0d50: 49 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54  I.#lappend SQLIT
0d60: 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49  E_OPTIONS -DSQLI
0d70: 54 45 5f 57 49 4e 4e 54 5f 4d 41 58 5f 50 41 54  TE_WINNT_MAX_PAT
0d80: 48 5f 43 48 41 52 53 3d 34 30 39 36 0a 0a 23 20  H_CHARS=4096..# 
0d90: 4f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20  Options used to 
0da0: 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c  compile the incl
0db0: 75 64 65 64 20 53 51 4c 69 74 65 20 73 68 65 6c  uded SQLite shel
0dc0: 6c 2e 0a 23 0a 73 65 74 20 53 48 45 4c 4c 5f 4f  l..#.set SHELL_O
0dd0: 50 54 49 4f 4e 53 20 7b 0a 20 20 2d 44 6d 61 69  PTIONS {.  -Dmai
0de0: 6e 3d 73 71 6c 69 74 65 33 5f 73 68 65 6c 6c 0a  n=sqlite3_shell.
0df0: 20 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c    -DSQLITE_SHELL
0e00: 5f 49 53 5f 55 54 46 38 3d 31 0a 20 20 2d 44 53  _IS_UTF8=1.  -DS
0e10: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
0e20: 45 58 54 45 4e 53 49 4f 4e 3d 31 0a 20 20 2d 44  EXTENSION=1.  -D
0e30: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
0e40: 45 3d 24 28 55 53 45 5f 53 59 53 54 45 4d 5f 53  E=$(USE_SYSTEM_S
0e50: 51 4c 49 54 45 29 0a 20 20 2d 44 53 51 4c 49 54  QLITE).  -DSQLIT
0e60: 45 5f 53 48 45 4c 4c 5f 44 42 4e 41 4d 45 5f 50  E_SHELL_DBNAME_P
0e70: 52 4f 43 3d 66 6f 73 73 69 6c 5f 6f 70 65 6e 0a  ROC=fossil_open.
0e80: 7d 0a 0a 23 20 6d 69 6e 69 7a 20 28 6c 69 62 7a  }..# miniz (libz
0e90: 20 64 72 6f 70 2d 69 6e 20 61 6c 74 65 72 6e 61   drop-in alterna
0ea0: 74 69 76 65 29 20 70 72 65 63 6f 6d 70 69 6c 65  tive) precompile
0eb0: 72 20 66 6c 61 67 73 2e 0a 23 0a 73 65 74 20 4d  r flags..#.set M
0ec0: 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20  INIZ_OPTIONS {. 
0ed0: 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 53 54 44 49   -DMINIZ_NO_STDI
0ee0: 4f 0a 20 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 54  O.  -DMINIZ_NO_T
0ef0: 49 4d 45 0a 20 20 2d 44 4d 49 4e 49 5a 5f 4e 4f  IME.  -DMINIZ_NO
0f00: 5f 41 52 43 48 49 56 45 5f 41 50 49 53 0a 7d 0a  _ARCHIVE_APIS.}.
0f10: 0a 23 20 4f 70 74 69 6f 6e 73 20 75 73 65 64 20  .# Options used 
0f20: 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69  to compile the i
0f30: 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 73  ncluded SQLite s
0f40: 68 65 6c 6c 20 6f 6e 20 57 69 6e 64 6f 77 73 2e  hell on Windows.
0f50: 0a 23 0a 73 65 74 20 53 48 45 4c 4c 5f 57 49 4e  .#.set SHELL_WIN
0f60: 33 32 5f 4f 50 54 49 4f 4e 53 20 24 53 48 45 4c  32_OPTIONS $SHEL
0f70: 4c 5f 4f 50 54 49 4f 4e 53 0a 6c 61 70 70 65 6e  L_OPTIONS.lappen
0f80: 64 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50  d SHELL_WIN32_OP
0f90: 54 49 4f 4e 53 20 2d 44 61 63 63 65 73 73 3d 66  TIONS -Daccess=f
0fa0: 69 6c 65 5f 61 63 63 65 73 73 0a 6c 61 70 70 65  ile_access.lappe
0fb0: 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f  nd SHELL_WIN32_O
0fc0: 50 54 49 4f 4e 53 20 2d 44 73 79 73 74 65 6d 3d  PTIONS -Dsystem=
0fd0: 66 6f 73 73 69 6c 5f 73 79 73 74 65 6d 0a 6c 61  fossil_system.la
0fe0: 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33  ppend SHELL_WIN3
0ff0: 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 67 65 74 65  2_OPTIONS -Dgete
1000: 6e 76 3d 66 6f 73 73 69 6c 5f 67 65 74 65 6e 76  nv=fossil_getenv
1010: 0a 6c 61 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57  .lappend SHELL_W
1020: 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 66  IN32_OPTIONS -Df
1030: 6f 70 65 6e 3d 66 6f 73 73 69 6c 5f 66 6f 70 65  open=fossil_fope
1040: 6e 0a 0a 23 20 53 54 4f 50 20 48 45 52 45 2e 0a  n..# STOP HERE..
1050: 23 20 55 6e 6c 65 73 73 20 74 68 65 20 62 75 69  # Unless the bui
1060: 6c 64 20 70 72 6f 63 65 64 75 72 65 73 20 63 68  ld procedures ch
1070: 61 6e 67 65 73 2c 20 79 6f 75 20 73 68 6f 75 6c  anges, you shoul
1080: 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 65 64  d not have to ed
1090: 69 74 20 61 6e 79 74 68 69 6e 67 0a 23 20 62 65  it anything.# be
10a0: 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 2e 0a 23  low this line..#
10b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0a 0a 23 20  ############..# 
1100: 4e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6e 61  Name of the fina
1110: 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 23 0a  l application.#.
1120: 73 65 74 20 6e 61 6d 65 20 66 6f 73 73 69 6c 0a  set name fossil.
1130: 0a 23 20 54 68 65 20 22 77 72 69 74 65 6c 6e 22  .# The "writeln"
1140: 20 63 6f 6d 6d 61 6e 64 20 73 65 6e 64 73 20 6f   command sends o
1150: 75 74 70 75 74 20 74 6f 20 74 68 65 20 74 61 72  utput to the tar
1160: 67 65 74 20 6d 61 6b 65 66 69 6c 65 2e 0a 23 0a  get makefile..#.
1170: 70 72 6f 63 20 77 72 69 74 65 6c 6e 20 7b 61 72  proc writeln {ar
1180: 67 73 7d 20 7b 0a 20 20 67 6c 6f 62 61 6c 20 6f  gs} {.  global o
1190: 75 74 70 75 74 5f 66 69 6c 65 0a 20 20 69 66 20  utput_file.  if 
11a0: 7b 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30  {[lindex $args 0
11b0: 5d 3d 3d 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 7d  ]=="-nonewline"}
11c0: 20 7b 0a 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e   {.    puts -non
11d0: 65 77 6c 69 6e 65 20 24 6f 75 74 70 75 74 5f 66  ewline $output_f
11e0: 69 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67  ile [lindex $arg
11f0: 73 20 31 5d 0a 20 20 7d 20 65 6c 73 65 20 7b 0a  s 1].  } else {.
1200: 20 20 20 20 70 75 74 73 20 24 6f 75 74 70 75 74      puts $output
1210: 5f 66 69 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61  _file [lindex $a
1220: 72 67 73 20 30 5d 0a 20 20 7d 0a 7d 0a 0a 23 20  rgs 0].  }.}..# 
1230: 45 78 70 61 6e 64 20 61 6e 79 20 77 69 6c 64 63  Expand any wildc
1240: 61 72 64 73 20 69 6e 20 22 65 78 74 72 61 5f 66  ards in "extra_f
1250: 69 6c 65 73 22 0a 73 65 74 20 6e 65 77 5f 65 78  iles".set new_ex
1260: 74 72 61 5f 66 69 6c 65 73 20 7b 7d 0a 66 6f 72  tra_files {}.for
1270: 65 61 63 68 20 66 69 6c 65 20 24 65 78 74 72 61  each file $extra
1280: 5f 66 69 6c 65 73 20 7b 0a 20 20 66 6f 72 65 61  _files {.  forea
1290: 63 68 20 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f  ch x [glob -noco
12a0: 6d 70 6c 61 69 6e 20 24 66 69 6c 65 5d 20 7b 0a  mplain $file] {.
12b0: 20 20 20 20 6c 61 70 70 65 6e 64 20 6e 65 77 5f      lappend new_
12c0: 65 78 74 72 61 5f 66 69 6c 65 73 20 24 78 0a 20  extra_files $x. 
12d0: 20 7d 0a 7d 0a 73 65 74 20 65 78 74 72 61 5f 66   }.}.set extra_f
12e0: 69 6c 65 73 20 24 6e 65 77 5f 65 78 74 72 61 5f  iles $new_extra_
12f0: 66 69 6c 65 73 0a 0a 23 23 23 23 23 23 23 23 23  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 0a 23 23 23 23 23 23 23 23 23 23  #####.##########
1350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1390: 23 23 23 23 0a 23 23 23 23 23 23 23 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 0a 23 20 53 74 61 72 74 20 62 79 20 67  ###.# Start by g
13f0: 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 22 6d  enerating the "m
1400: 61 69 6e 2e 6d 6b 22 20 6d 61 6b 65 66 69 6c 65  ain.mk" makefile
1410: 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 75 6e   used for all un
1420: 69 78 20 73 79 73 74 65 6d 73 2e 0a 23 0a 70 75  ix systems..#.pu
1430: 74 73 20 22 62 75 69 6c 64 69 6e 67 20 6d 61 69  ts "building mai
1440: 6e 2e 6d 6b 22 0a 73 65 74 20 6f 75 74 70 75 74  n.mk".set output
1450: 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 6d 61 69 6e  _file [open main
1460: 2e 6d 6b 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72  .mk w].fconfigur
1470: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d  e $output_file -
1480: 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61  translation bina
1490: 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23  ry..writeln {#.#
14a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0a 23 20  #############.# 
14f0: 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20  WARNING: DO NOT 
1500: 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43 41  EDIT, AUTOMATICA
1510: 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46 49  LLY GENERATED FI
1520: 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61 6b  LE (SEE "src/mak
1530: 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23  emake.tcl").####
1540: 23 23 23 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 0a 23 0a 23 20 54  ##########.#.# T
1590: 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74 6f  his file is auto
15a0: 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61  matically genera
15b0: 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 6f 66  ted.  Instead of
15c0: 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a 23 20   editing this.# 
15d0: 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b 65  file, edit "make
15e0: 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20 72  make.tcl" then r
15f0: 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61  un "tclsh makema
1600: 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72 65 67  ke.tcl".# to reg
1610: 65 6e 65 72 61 74 65 20 74 68 69 73 20 66 69 6c  enerate this fil
1620: 65 2e 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65  e..#.# This file
1630: 20 69 73 20 69 6e 63 6c 75 64 65 64 20 62 79 20   is included by 
1640: 70 72 69 6d 61 72 79 20 4d 61 6b 65 66 69 6c 65  primary Makefile
1650: 2e 0a 23 0a 0a 58 42 43 43 20 3d 20 24 28 42 43  ..#..XBCC = $(BC
1660: 43 29 20 24 28 42 43 43 46 4c 41 47 53 29 20 24  C) $(BCCFLAGS) $
1670: 28 43 46 4c 41 47 53 29 0a 58 54 43 43 20 3d 20  (CFLAGS).XTCC = 
1680: 24 28 54 43 43 29 20 2d 49 2e 20 2d 49 24 28 53  $(TCC) -I. -I$(S
1690: 52 43 44 49 52 29 20 2d 49 24 28 4f 42 4a 44 49  RCDIR) -I$(OBJDI
16a0: 52 29 20 24 28 54 43 43 46 4c 41 47 53 29 20 24  R) $(TCCFLAGS) $
16b0: 28 43 46 4c 41 47 53 29 0a 0a 7d 0a 77 72 69 74  (CFLAGS)..}.writ
16c0: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
16d0: 53 52 43 20 3d 22 0a 66 6f 72 65 61 63 68 20 73  SRC =".foreach s
16e0: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
16f0: 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77    writeln -nonew
1700: 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28  line " \\\n  \$(
1710: 53 52 43 44 49 52 29 2f 24 73 2e 63 22 0a 7d 0a  SRCDIR)/$s.c".}.
1720: 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69  writeln "\n".wri
1730: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
1740: 22 45 58 54 52 41 5f 46 49 4c 45 53 20 3d 22 0a  "EXTRA_FILES =".
1750: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
1760: 20 24 65 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b   $extra_files] {
1770: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
1780: 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24  wline " \\\n  \$
1790: 28 53 52 43 44 49 52 29 2f 24 73 22 0a 7d 0a 77  (SRCDIR)/$s".}.w
17a0: 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74  riteln "\n".writ
17b0: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
17c0: 54 52 41 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72  TRANS_SRC =".for
17d0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
17e0: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
17f0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c  -nonewline " \\\
1800: 6e 20 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b  n  \$(OBJDIR)/${
1810: 73 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e  s}_.c".}.writeln
1820: 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e   "\n".writeln -n
1830: 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22  onewline "OBJ ="
1840: 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72  .foreach s [lsor
1850: 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74  t $src] {.  writ
1860: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
1870: 20 5c 5c 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29   \\\n \$(OBJDIR)
1880: 2f 24 73 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e  /$s.o".}.writeln
1890: 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41   "\n".writeln "A
18a0: 50 50 4e 41 4d 45 20 3d 20 24 6e 61 6d 65 5c 24  PPNAME = $name\$
18b0: 28 45 29 22 0a 77 72 69 74 65 6c 6e 20 22 5c 6e  (E)".writeln "\n
18c0: 22 0a 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69  "..writeln [stri
18d0: 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20  ng map [list \. 
18e0: 20 20 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54     <<<SQLITE_OPT
18f0: 49 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53  IONS>>> [join $S
1900: 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 22 20  QLITE_OPTIONS " 
1910: 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20  \\\n            
1920: 20 20 20 20 20 22 5d 20 5c 0a 20 20 20 20 3c 3c       "] \.    <<
1930: 3c 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e  <SHELL_OPTIONS>>
1940: 3e 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 4f  > [join $SHELL_O
1950: 50 54 49 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20  PTIONS " \\\n   
1960: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5d 20               "] 
1970: 5c 0a 20 20 20 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f  \.    <<<MINIZ_O
1980: 50 54 49 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20  PTIONS>>> [join 
1990: 24 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 22  $MINIZ_OPTIONS "
19a0: 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20   \\\n           
19b0: 20 20 20 20 20 22 5d 5d 20 7b 0a 61 6c 6c 3a 09       "]] {.all:.
19c0: 24 28 4f 42 4a 44 49 52 29 20 24 28 41 50 50 4e  $(OBJDIR) $(APPN
19d0: 41 4d 45 29 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24  AME)..install:.$
19e0: 28 41 50 50 4e 41 4d 45 29 0a 09 6d 6b 64 69 72  (APPNAME)..mkdir
19f0: 20 2d 70 20 24 28 49 4e 53 54 41 4c 4c 44 49 52   -p $(INSTALLDIR
1a00: 29 0a 09 6d 76 20 24 28 41 50 50 4e 41 4d 45 29  )..mv $(APPNAME)
1a10: 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 0a   $(INSTALLDIR)..
1a20: 63 6f 64 65 63 68 65 63 6b 3a 09 24 28 54 52 41  codecheck:.$(TRA
1a30: 4e 53 5f 53 52 43 29 20 24 28 4f 42 4a 44 49 52  NS_SRC) $(OBJDIR
1a40: 29 2f 63 6f 64 65 63 68 65 63 6b 31 0a 09 24 28  )/codecheck1..$(
1a50: 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 68 65 63  OBJDIR)/codechec
1a60: 6b 31 20 24 28 54 52 41 4e 53 5f 53 52 43 29 0a  k1 $(TRANS_SRC).
1a70: 0a 24 28 4f 42 4a 44 49 52 29 3a 0a 09 2d 6d 6b  .$(OBJDIR):..-mk
1a80: 64 69 72 20 24 28 4f 42 4a 44 49 52 29 0a 0a 24  dir $(OBJDIR)..$
1a90: 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61  (OBJDIR)/transla
1aa0: 74 65 3a 09 24 28 53 52 43 44 49 52 29 2f 74 72  te:.$(SRCDIR)/tr
1ab0: 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 58 42 43  anslate.c..$(XBC
1ac0: 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f  C) -o $(OBJDIR)/
1ad0: 74 72 61 6e 73 6c 61 74 65 20 24 28 53 52 43 44  translate $(SRCD
1ae0: 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a  IR)/translate.c.
1af0: 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68  .$(OBJDIR)/makeh
1b00: 65 61 64 65 72 73 3a 09 24 28 53 52 43 44 49 52  eaders:.$(SRCDIR
1b10: 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 63 0a  )/makeheaders.c.
1b20: 09 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42  .$(XBCC) -o $(OB
1b30: 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72  JDIR)/makeheader
1b40: 73 20 24 28 53 52 43 44 49 52 29 2f 6d 61 6b 65  s $(SRCDIR)/make
1b50: 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4f 42 4a  headers.c..$(OBJ
1b60: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 3a 09 24 28  DIR)/mkindex:.$(
1b70: 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e  SRCDIR)/mkindex.
1b80: 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 28  c..$(XBCC) -o $(
1b90: 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78 20  OBJDIR)/mkindex 
1ba0: 24 28 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65  $(SRCDIR)/mkinde
1bb0: 78 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d  x.c..$(OBJDIR)/m
1bc0: 6b 62 75 69 6c 74 69 6e 3a 09 24 28 53 52 43 44  kbuiltin:.$(SRCD
1bd0: 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a  IR)/mkbuiltin.c.
1be0: 09 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42  .$(XBCC) -o $(OB
1bf0: 4a 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 20  JDIR)/mkbuiltin 
1c00: 24 28 53 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c  $(SRCDIR)/mkbuil
1c10: 74 69 6e 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29  tin.c..$(OBJDIR)
1c20: 2f 6d 6b 76 65 72 73 69 6f 6e 3a 09 24 28 53 52  /mkversion:.$(SR
1c30: 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e  CDIR)/mkversion.
1c40: 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 28  c..$(XBCC) -o $(
1c50: 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f  OBJDIR)/mkversio
1c60: 6e 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 76 65  n $(SRCDIR)/mkve
1c70: 72 73 69 6f 6e 2e 63 0a 0a 24 28 4f 42 4a 44 49  rsion.c..$(OBJDI
1c80: 52 29 2f 6d 6b 63 73 73 3a 09 24 28 53 52 43 44  R)/mkcss:.$(SRCD
1c90: 49 52 29 2f 6d 6b 63 73 73 2e 63 0a 09 24 28 58  IR)/mkcss.c..$(X
1ca0: 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52  BCC) -o $(OBJDIR
1cb0: 29 2f 6d 6b 63 73 73 20 24 28 53 52 43 44 49 52  )/mkcss $(SRCDIR
1cc0: 29 2f 6d 6b 63 73 73 2e 63 0a 0a 24 28 4f 42 4a  )/mkcss.c..$(OBJ
1cd0: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 3a  DIR)/codecheck1:
1ce0: 09 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65 63  .$(SRCDIR)/codec
1cf0: 68 65 63 6b 31 2e 63 0a 09 24 28 58 42 43 43 29  heck1.c..$(XBCC)
1d00: 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 63 6f   -o $(OBJDIR)/co
1d10: 64 65 63 68 65 63 6b 31 20 24 28 53 52 43 44 49  decheck1 $(SRCDI
1d20: 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a  R)/codecheck1.c.
1d30: 0a 23 20 52 75 6e 20 74 68 65 20 74 65 73 74 20  .# Run the test 
1d40: 73 75 69 74 65 2e 0a 23 20 4f 74 68 65 72 20 66  suite..# Other f
1d50: 6c 61 67 73 20 74 68 61 74 20 63 61 6e 20 62 65  lags that can be
1d60: 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 54 45 53   included in TES
1d70: 54 46 4c 41 47 53 20 61 72 65 3a 0a 23 0a 23 20  TFLAGS are:.#.# 
1d80: 20 2d 68 61 6c 74 20 20 20 20 20 53 74 6f 70 20   -halt     Stop 
1d90: 74 65 73 74 69 6e 67 20 61 66 74 65 72 20 74 68  testing after th
1da0: 65 20 66 69 72 73 74 20 66 61 69 6c 65 64 20 74  e first failed t
1db0: 65 73 74 0a 23 20 20 2d 6b 65 65 70 20 20 20 20  est.#  -keep    
1dc0: 20 4b 65 65 70 20 74 68 65 20 74 65 6d 70 6f 72   Keep the tempor
1dd0: 61 72 79 20 77 6f 72 6b 73 70 61 63 65 20 66 6f  ary workspace fo
1de0: 72 20 64 65 62 75 67 67 69 6e 67 0a 23 20 20 2d  r debugging.#  -
1df0: 70 72 6f 74 20 20 20 20 20 57 72 69 74 65 20 61  prot     Write a
1e00: 20 64 65 74 61 69 6c 65 64 20 6c 6f 67 20 6f 66   detailed log of
1e10: 20 74 68 65 20 74 65 73 74 73 20 74 6f 20 74 68   the tests to th
1e20: 65 20 66 69 6c 65 20 2e 2f 70 72 6f 74 0a 23 20  e file ./prot.# 
1e30: 20 2d 76 65 72 62 6f 73 65 20 20 49 6e 63 6c 75   -verbose  Inclu
1e40: 64 65 20 65 76 65 6e 20 6d 6f 72 65 20 64 65 74  de even more det
1e50: 61 69 6c 73 20 69 6e 20 74 68 65 20 6f 75 74 70  ails in the outp
1e60: 75 74 0a 23 20 20 2d 71 75 69 65 74 20 20 20 20  ut.#  -quiet    
1e70: 48 69 64 65 20 6d 6f 73 74 20 6f 75 74 70 75 74  Hide most output
1e80: 20 66 72 6f 6d 20 74 68 65 20 74 65 72 6d 69 6e   from the termin
1e90: 61 6c 0a 23 20 20 2d 73 74 72 69 63 74 20 20 20  al.#  -strict   
1ea0: 54 72 65 61 74 20 6b 6e 6f 77 6e 20 62 75 67 73  Treat known bugs
1eb0: 20 61 73 20 66 61 69 6c 75 72 65 73 0a 23 0a 23   as failures.#.#
1ec0: 20 54 45 53 54 46 4c 41 47 53 20 63 61 6e 20 61   TESTFLAGS can a
1ed0: 6c 73 6f 20 69 6e 63 6c 75 64 65 20 6e 61 6d 65  lso include name
1ee0: 73 20 6f 66 20 73 70 65 63 69 66 69 63 20 74 65  s of specific te
1ef0: 73 74 20 66 69 6c 65 73 20 74 6f 20 6c 69 6d 69  st files to limi
1f00: 74 0a 23 20 74 68 65 20 72 75 6e 20 74 6f 20 6a  t.# the run to j
1f10: 75 73 74 20 74 68 6f 73 65 20 74 65 73 74 20 63  ust those test c
1f20: 61 73 65 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28  ases..#.test:.$(
1f30: 4f 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d  OBJDIR) $(APPNAM
1f40: 45 29 0a 09 24 28 54 43 4c 53 48 29 20 24 28 53  E)..$(TCLSH) $(S
1f50: 52 43 44 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74  RCDIR)/../test/t
1f60: 65 73 74 65 72 2e 74 63 6c 20 24 28 41 50 50 4e  ester.tcl $(APPN
1f70: 41 4d 45 29 20 2d 71 75 69 65 74 20 24 28 54 45  AME) -quiet $(TE
1f80: 53 54 46 4c 41 47 53 29 0a 0a 24 28 4f 42 4a 44  STFLAGS)..$(OBJD
1f90: 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 3a 09 24  IR)/VERSION.h:.$
1fa0: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69  (SRCDIR)/../mani
1fb0: 66 65 73 74 2e 75 75 69 64 20 24 28 53 52 43 44  fest.uuid $(SRCD
1fc0: 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20  IR)/../manifest 
1fd0: 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52  $(SRCDIR)/../VER
1fe0: 53 49 4f 4e 20 24 28 4f 42 4a 44 49 52 29 2f 6d  SION $(OBJDIR)/m
1ff0: 6b 76 65 72 73 69 6f 6e 0a 09 24 28 4f 42 4a 44  kversion..$(OBJD
2000: 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 28  IR)/mkversion $(
2010: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66  SRCDIR)/../manif
2020: 65 73 74 2e 75 75 69 64 20 5c 0a 09 09 24 28 53  est.uuid \...$(S
2030: 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65  RCDIR)/../manife
2040: 73 74 20 5c 0a 09 09 24 28 53 52 43 44 49 52 29  st \...$(SRCDIR)
2050: 2f 2e 2e 2f 56 45 52 53 49 4f 4e 20 3e 24 28 4f  /../VERSION >$(O
2060: 42 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68  BJDIR)/VERSION.h
2070: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61  ..$(OBJDIR)/defa
2080: 75 6c 74 5f 63 73 73 2e 68 3a 09 24 28 53 52 43  ult_css.h:.$(SRC
2090: 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73  DIR)/default_css
20a0: 2e 74 78 74 20 24 28 4f 42 4a 44 49 52 29 2f 6d  .txt $(OBJDIR)/m
20b0: 6b 63 73 73 0a 09 24 28 4f 42 4a 44 49 52 29 2f  kcss..$(OBJDIR)/
20c0: 6d 6b 63 73 73 20 24 28 53 52 43 44 49 52 29 2f  mkcss $(SRCDIR)/
20d0: 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 20  default_css.txt 
20e0: 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c  $(OBJDIR)/defaul
20f0: 74 5f 63 73 73 2e 68 0a 0a 23 20 53 65 74 75 70  t_css.h..# Setup
2100: 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 75 73 65   the options use
2110: 64 20 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65  d to compile the
2120: 20 69 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65   included SQLite
2130: 20 6c 69 62 72 61 72 79 2e 0a 53 51 4c 49 54 45   library..SQLITE
2140: 5f 4f 50 54 49 4f 4e 53 20 3d 20 3c 3c 3c 53 51  _OPTIONS = <<<SQ
2150: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a  LITE_OPTIONS>>>.
2160: 0a 23 20 53 65 74 75 70 20 74 68 65 20 6f 70 74  .# Setup the opt
2170: 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d  ions used to com
2180: 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 65  pile the include
2190: 64 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a  d SQLite shell..
21a0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20  SHELL_OPTIONS = 
21b0: 3c 3c 3c 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53  <<<SHELL_OPTIONS
21c0: 3e 3e 3e 0a 0a 23 20 53 65 74 75 70 20 74 68 65  >>>..# Setup the
21d0: 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 6f   options used to
21e0: 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e 63   compile the inc
21f0: 6c 75 64 65 64 20 6d 69 6e 69 7a 20 6c 69 62 72  luded miniz libr
2200: 61 72 79 2e 0a 4d 49 4e 49 5a 5f 4f 50 54 49 4f  ary..MINIZ_OPTIO
2210: 4e 53 20 3d 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50  NS = <<<MINIZ_OP
2220: 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 54 68 65 20  TIONS>>>..# The 
2230: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
2240: 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62  E variable may b
2250: 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 65 74  e undefined, set
2260: 20 74 6f 20 30 2c 20 6f 72 20 73 65 74 0a 23 20   to 0, or set.# 
2270: 74 6f 20 31 2e 20 49 66 20 69 74 20 69 73 20 73  to 1. If it is s
2280: 65 74 20 74 6f 20 31 2c 20 74 68 65 6e 20 74 68  et to 1, then th
2290: 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74  ere is no need t
22a0: 6f 20 62 75 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a  o build or link.
22b0: 23 20 74 68 65 20 73 71 6c 69 74 65 33 2e 6f 20  # the sqlite3.o 
22c0: 6f 62 6a 65 63 74 2e 20 49 6e 73 74 65 61 64 2c  object. Instead,
22d0: 20 74 68 65 20 73 79 73 74 65 6d 20 53 51 4c 69   the system SQLi
22e0: 74 65 20 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65  te will be linke
22f0: 64 0a 23 20 75 73 69 6e 67 20 2d 6c 73 71 6c 69  d.# using -lsqli
2300: 74 65 33 2e 0a 53 51 4c 49 54 45 33 5f 4f 42 4a  te3..SQLITE3_OBJ
2310: 2e 30 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 73  .0 = $(OBJDIR)/s
2320: 71 6c 69 74 65 33 2e 6f 0a 53 51 4c 49 54 45 33  qlite3.o.SQLITE3
2330: 5f 4f 42 4a 2e 31 20 3d 0a 53 51 4c 49 54 45 33  _OBJ.1 =.SQLITE3
2340: 5f 4f 42 4a 2e 20 20 3d 20 24 28 53 51 4c 49 54  _OBJ.  = $(SQLIT
2350: 45 33 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65  E3_OBJ.0)..# The
2360: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d   FOSSIL_ENABLE_M
2370: 49 4e 49 5a 20 76 61 72 69 61 62 6c 65 20 6d 61  INIZ variable ma
2380: 79 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20  y be undefined, 
2390: 73 65 74 20 74 6f 20 30 2c 20 6f 72 0a 23 20 73  set to 0, or.# s
23a0: 65 74 20 74 6f 20 31 2e 20 20 49 66 20 69 74 20  et to 1.  If it 
23b0: 69 73 20 73 65 74 20 74 6f 20 31 2c 20 74 68 65  is set to 1, the
23c0: 20 6d 69 6e 69 7a 20 6c 69 62 72 61 72 79 20 69   miniz library i
23d0: 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 0a 23  ncluded in the.#
23e0: 20 73 6f 75 72 63 65 20 74 72 65 65 20 73 68 6f   source tree sho
23f0: 75 6c 64 20 62 65 20 75 73 65 64 3b 20 6f 74 68  uld be used; oth
2400: 65 72 77 69 73 65 2c 20 69 74 20 73 68 6f 75 6c  erwise, it shoul
2410: 64 20 6e 6f 74 2e 0a 4d 49 4e 49 5a 5f 4f 42 4a  d not..MINIZ_OBJ
2420: 2e 30 20 3d 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 31  .0 =.MINIZ_OBJ.1
2430: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e   = $(OBJDIR)/min
2440: 69 7a 2e 6f 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 20  iz.o.MINIZ_OBJ. 
2450: 20 3d 20 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 30   = $(MINIZ_OBJ.0
2460: 29 0a 0a 23 20 54 68 65 20 55 53 45 5f 4c 49 4e  )..# The USE_LIN
2470: 45 4e 4f 49 53 45 20 76 61 72 69 61 62 6c 65 20  ENOISE variable 
2480: 6d 61 79 20 62 65 20 75 6e 64 65 66 69 6e 65 64  may be undefined
2490: 2c 20 73 65 74 20 74 6f 20 30 2c 20 6f 72 20 73  , set to 0, or s
24a0: 65 74 0a 23 20 74 6f 20 31 2e 20 49 66 20 69 74  et.# to 1. If it
24b0: 20 69 73 20 73 65 74 20 74 6f 20 30 2c 20 74 68   is set to 0, th
24c0: 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e  en there is no n
24d0: 65 65 64 20 74 6f 20 62 75 69 6c 64 20 6f 72 20  eed to build or 
24e0: 6c 69 6e 6b 0a 23 20 74 68 65 20 6c 69 6e 65 6e  link.# the linen
24f0: 6f 69 73 65 2e 6f 20 6f 62 6a 65 63 74 2e 0a 4c  oise.o object..L
2500: 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 30 20 3d  INENOISE_DEF.0 =
2510: 0a 4c 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 31  .LINENOISE_DEF.1
2520: 20 3d 20 2d 44 48 41 56 45 5f 4c 49 4e 45 4e 4f   = -DHAVE_LINENO
2530: 49 53 45 0a 4c 49 4e 45 4e 4f 49 53 45 5f 44 45  ISE.LINENOISE_DE
2540: 46 2e 20 20 3d 20 24 28 4c 49 4e 45 4e 4f 49 53  F.  = $(LINENOIS
2550: 45 5f 44 45 46 2e 30 29 0a 4c 49 4e 45 4e 4f 49  E_DEF.0).LINENOI
2560: 53 45 5f 4f 42 4a 2e 30 20 3d 0a 4c 49 4e 45 4e  SE_OBJ.0 =.LINEN
2570: 4f 49 53 45 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f  OISE_OBJ.1 = $(O
2580: 42 4a 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65  BJDIR)/linenoise
2590: 2e 6f 0a 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a  .o.LINENOISE_OBJ
25a0: 2e 20 20 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45  .  = $(LINENOISE
25b0: 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20 55  _OBJ.0)..# The U
25c0: 53 45 5f 53 45 45 20 76 61 72 69 61 62 6c 65 20  SE_SEE variable 
25d0: 6d 61 79 20 62 65 20 75 6e 64 65 66 69 6e 65 64  may be undefined
25e0: 2c 20 30 20 6f 72 20 31 2e 20 20 49 66 20 75 6e  , 0 or 1.  If un
25f0: 64 65 66 69 6e 65 64 20 6f 72 0a 23 20 30 2c 20  defined or.# 0, 
2600: 6f 72 64 69 6e 61 72 79 20 53 51 4c 69 74 65 20  ordinary SQLite 
2610: 69 73 20 75 73 65 64 2e 20 20 49 66 20 31 2c 20  is used.  If 1, 
2620: 74 68 65 6e 20 73 71 6c 69 74 65 33 2d 73 65 65  then sqlite3-see
2630: 2e 63 20 28 6e 6f 74 20 70 61 72 74 20 6f 66 0a  .c (not part of.
2640: 23 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65  # the source tre
2650: 65 29 20 69 73 20 75 73 65 64 20 61 6e 64 20 65  e) is used and e
2660: 78 74 72 61 20 66 6c 61 67 73 20 61 72 65 20 70  xtra flags are p
2670: 72 6f 76 69 64 65 64 20 74 6f 20 65 6e 61 62 6c  rovided to enabl
2680: 65 0a 23 20 74 68 65 20 53 51 4c 69 74 65 20 45  e.# the SQLite E
2690: 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73  ncryption Extens
26a0: 69 6f 6e 2e 0a 53 51 4c 49 54 45 33 5f 53 52 43  ion..SQLITE3_SRC
26b0: 2e 30 20 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53  .0 = sqlite3.c.S
26c0: 51 4c 49 54 45 33 5f 53 52 43 2e 31 20 3d 20 73  QLITE3_SRC.1 = s
26d0: 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a 53 51 4c  qlite3-see.c.SQL
26e0: 49 54 45 33 5f 53 52 43 2e 20 3d 20 73 71 6c 69  ITE3_SRC. = sqli
26f0: 74 65 33 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52  te3.c.SQLITE3_SR
2700: 43 20 3d 20 24 28 53 52 43 44 49 52 29 2f 24 28  C = $(SRCDIR)/$(
2710: 53 51 4c 49 54 45 33 5f 53 52 43 2e 24 28 55 53  SQLITE3_SRC.$(US
2720: 45 5f 53 45 45 29 29 0a 53 51 4c 49 54 45 33 5f  E_SEE)).SQLITE3_
2730: 53 48 45 4c 4c 5f 53 52 43 2e 30 20 3d 20 73 68  SHELL_SRC.0 = sh
2740: 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48  ell.c.SQLITE3_SH
2750: 45 4c 4c 5f 53 52 43 2e 31 20 3d 20 73 68 65 6c  ELL_SRC.1 = shel
2760: 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 33 5f  l-see.c.SQLITE3_
2770: 53 48 45 4c 4c 5f 53 52 43 2e 20 3d 20 73 68 65  SHELL_SRC. = she
2780: 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45  ll.c.SQLITE3_SHE
2790: 4c 4c 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49  LL_SRC = $(SRCDI
27a0: 52 29 2f 24 28 53 51 4c 49 54 45 33 5f 53 48 45  R)/$(SQLITE3_SHE
27b0: 4c 4c 5f 53 52 43 2e 24 28 55 53 45 5f 53 45 45  LL_SRC.$(USE_SEE
27c0: 29 29 0a 53 45 45 5f 46 4c 41 47 53 2e 30 20 3d  )).SEE_FLAGS.0 =
27d0: 0a 53 45 45 5f 46 4c 41 47 53 2e 31 20 3d 20 2d  .SEE_FLAGS.1 = -
27e0: 44 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45  DSQLITE_HAS_CODE
27f0: 43 20 2d 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c  C -DSQLITE_SHELL
2800: 5f 44 42 4b 45 59 5f 50 52 4f 43 3d 66 6f 73 73  _DBKEY_PROC=foss
2810: 69 6c 5f 6b 65 79 0a 53 45 45 5f 46 4c 41 47 53  il_key.SEE_FLAGS
2820: 2e 20 3d 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20  . =.SEE_FLAGS = 
2830: 24 28 53 45 45 5f 46 4c 41 47 53 2e 24 28 55 53  $(SEE_FLAGS.$(US
2840: 45 5f 53 45 45 29 29 0a 7d 5d 0a 0a 77 72 69 74  E_SEE)).}]..writ
2850: 65 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20  eln [string map 
2860: 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49  [list <<<NEXT_LI
2870: 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 54 52  NE>>> \\] {.EXTR
2880: 41 4f 42 4a 20 3d 20 3c 3c 3c 4e 45 58 54 5f 4c  AOBJ = <<<NEXT_L
2890: 49 4e 45 3e 3e 3e 0a 20 24 28 53 51 4c 49 54 45  INE>>>. $(SQLITE
28a0: 33 5f 4f 42 4a 2e 24 28 55 53 45 5f 53 59 53 54  3_OBJ.$(USE_SYST
28b0: 45 4d 5f 53 51 4c 49 54 45 29 29 20 3c 3c 3c 4e  EM_SQLITE)) <<<N
28c0: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4d  EXT_LINE>>>. $(M
28d0: 49 4e 49 5a 5f 4f 42 4a 2e 24 28 46 4f 53 53 49  INIZ_OBJ.$(FOSSI
28e0: 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 29  L_ENABLE_MINIZ))
28f0: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e   <<<NEXT_LINE>>>
2900: 0a 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42  . $(LINENOISE_OB
2910: 4a 2e 24 28 55 53 45 5f 4c 49 4e 45 4e 4f 49 53  J.$(USE_LINENOIS
2920: 45 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  E)) <<<NEXT_LINE
2930: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73  >>>. $(OBJDIR)/s
2940: 68 65 6c 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c  hell.o <<<NEXT_L
2950: 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52  INE>>>. $(OBJDIR
2960: 29 2f 74 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c  )/th.o <<<NEXT_L
2970: 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52  INE>>>. $(OBJDIR
2980: 29 2f 74 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e  )/th_lang.o <<<N
2990: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f  EXT_LINE>>>. $(O
29a0: 42 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20  BJDIR)/th_tcl.o 
29b0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a  <<<NEXT_LINE>>>.
29c0: 20 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f   $(OBJDIR)/cson_
29d0: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d  amalgamation.o.}
29e0: 5d 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 41  ]..writeln {.$(A
29f0: 50 50 4e 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49  PPNAME):.$(OBJDI
2a00: 52 29 2f 68 65 61 64 65 72 73 20 24 28 4f 42 4a  R)/headers $(OBJ
2a10: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20  DIR)/codecheck1 
2a20: 24 28 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42  $(OBJ) $(EXTRAOB
2a30: 4a 29 0a 09 24 28 4f 42 4a 44 49 52 29 2f 63 6f  J)..$(OBJDIR)/co
2a40: 64 65 63 68 65 63 6b 31 20 24 28 54 52 41 4e 53  decheck1 $(TRANS
2a50: 5f 53 52 43 29 0a 09 24 28 54 43 43 29 20 2d 6f  _SRC)..$(TCC) -o
2a60: 20 24 28 41 50 50 4e 41 4d 45 29 20 24 28 4f 42   $(APPNAME) $(OB
2a70: 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 20 24  J) $(EXTRAOBJ) $
2a80: 28 4c 49 42 29 0a 0a 23 20 54 68 69 73 20 72 75  (LIB)..# This ru
2a90: 6c 65 20 70 72 65 76 65 6e 74 73 20 6d 61 6b 65  le prevents make
2aa0: 20 66 72 6f 6d 20 75 73 69 6e 67 20 69 74 73 20   from using its 
2ab0: 64 65 66 61 75 6c 74 20 72 75 6c 65 73 20 74 6f  default rules to
2ac0: 20 74 72 79 20 62 75 69 6c 64 0a 23 20 61 6e 20   try build.# an 
2ad0: 65 78 65 63 75 74 61 62 6c 65 20 6e 61 6d 65 64  executable named
2ae0: 20 22 6d 61 6e 69 66 65 73 74 22 20 6f 75 74 20   "manifest" out 
2af0: 6f 66 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65  of the file name
2b00: 64 20 22 6d 61 6e 69 66 65 73 74 2e 63 22 0a 23  d "manifest.c".#
2b10: 0a 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61  .$(SRCDIR)/../ma
2b20: 6e 69 66 65 73 74 3a 0a 09 23 20 6e 6f 6f 70 0a  nifest:..# noop.
2b30: 0a 63 6c 65 61 6e 3a 0a 09 72 6d 20 2d 72 66 20  .clean:..rm -rf 
2b40: 24 28 4f 42 4a 44 49 52 29 2f 2a 20 24 28 41 50  $(OBJDIR)/* $(AP
2b50: 50 4e 41 4d 45 29 0a 0a 7d 0a 0a 73 65 74 20 6d  PNAME)..}..set m
2b60: 68 61 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68  hargs {}.foreach
2b70: 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20   s [lsort $src] 
2b80: 7b 0a 20 20 61 70 70 65 6e 64 20 6d 68 61 72 67  {.  append mharg
2b90: 73 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b  s "\$(OBJDIR)/${
2ba0: 73 7d 5f 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29  s}_.c:\$(OBJDIR)
2bb0: 2f 24 73 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49  /$s.h <<<NEXT_LI
2bc0: 4e 45 3e 3e 3e 22 0a 20 20 73 65 74 20 65 78 74  NE>>>".  set ext
2bd0: 72 61 5f 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61  ra_h($s) { }.}.a
2be0: 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 5c 24  ppend mhargs "\$
2bf0: 28 53 52 43 44 49 52 29 2f 73 71 6c 69 74 65 33  (SRCDIR)/sqlite3
2c00: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .h <<<NEXT_LINE>
2c10: 3e 3e 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67  >>".append mharg
2c20: 73 20 22 5c 24 28 53 52 43 44 49 52 29 2f 74 68  s "\$(SRCDIR)/th
2c30: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .h <<<NEXT_LINE>
2c40: 3e 3e 22 0a 23 61 70 70 65 6e 64 20 6d 68 61 72  >>".#append mhar
2c50: 67 73 20 22 5c 24 28 53 52 43 44 49 52 29 2f 63  gs "\$(SRCDIR)/c
2c60: 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  son_amalgamation
2c70: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .h <<<NEXT_LINE>
2c80: 3e 3e 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67  >>".append mharg
2c90: 73 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45  s "\$(OBJDIR)/VE
2ca0: 52 53 49 4f 4e 2e 68 20 22 0a 73 65 74 20 6d 68  RSION.h ".set mh
2cb0: 61 72 67 73 20 5b 73 74 72 69 6e 67 20 6d 61 70  args [string map
2cc0: 20 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c   [list <<<NEXT_L
2cd0: 49 4e 45 3e 3e 3e 20 5c 5c 5c 6e 5c 74 5d 20 24  INE>>> \\\n\t] $
2ce0: 6d 68 61 72 67 73 5d 0a 77 72 69 74 65 6c 6e 20  mhargs].writeln 
2cf0: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 70 61 67 65  "\$(OBJDIR)/page
2d00: 5f 69 6e 64 65 78 2e 68 3a 20 5c 24 28 54 52 41  _index.h: \$(TRA
2d10: 4e 53 5f 53 52 43 29 20 5c 24 28 4f 42 4a 44 49  NS_SRC) \$(OBJDI
2d20: 52 29 2f 6d 6b 69 6e 64 65 78 22 0a 77 72 69 74  R)/mkindex".writ
2d30: 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52  eln "\t\$(OBJDIR
2d40: 29 2f 6d 6b 69 6e 64 65 78 20 5c 24 28 54 52 41  )/mkindex \$(TRA
2d50: 4e 53 5f 53 52 43 29 20 3e 5c 24 40 5c 6e 22 0a  NS_SRC) >\$@\n".
2d60: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ
2d70: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74  DIR)/builtin_dat
2d80: 61 2e 68 3a 20 5c 24 28 4f 42 4a 44 49 52 29 2f  a.h: \$(OBJDIR)/
2d90: 6d 6b 62 75 69 6c 74 69 6e 20 5c 24 28 45 58 54  mkbuiltin \$(EXT
2da0: 52 41 5f 46 49 4c 45 53 29 22 0a 77 72 69 74 65  RA_FILES)".write
2db0: 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29  ln "\t\$(OBJDIR)
2dc0: 2f 6d 6b 62 75 69 6c 74 69 6e 20 2d 2d 70 72 65  /mkbuiltin --pre
2dd0: 66 69 78 20 5c 24 28 53 52 43 44 49 52 29 2f 20  fix \$(SRCDIR)/ 
2de0: 5c 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20  \$(EXTRA_FILES) 
2df0: 3e 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e  >\$@\n"..writeln
2e00: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61   "\$(OBJDIR)/hea
2e10: 64 65 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52  ders:\t\$(OBJDIR
2e20: 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c  )/page_index.h \
2e30: 24 28 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69  $(OBJDIR)/builti
2e40: 6e 5f 64 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44  n_data.h \$(OBJD
2e50: 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e  IR)/default_css.
2e60: 68 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b  h \$(OBJDIR)/mak
2e70: 65 68 65 61 64 65 72 73 20 5c 24 28 4f 42 4a 44  eheaders \$(OBJD
2e80: 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 22 0a 77  IR)/VERSION.h".w
2e90: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a  riteln "\t\$(OBJ
2ea0: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73  DIR)/makeheaders
2eb0: 20 24 6d 68 61 72 67 73 22 0a 77 72 69 74 65 6c   $mhargs".writel
2ec0: 6e 20 22 5c 74 74 6f 75 63 68 20 5c 24 28 4f 42  n "\ttouch \$(OB
2ed0: 4a 44 49 52 29 2f 68 65 61 64 65 72 73 22 0a 77  JDIR)/headers".w
2ee0: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
2ef0: 52 29 2f 68 65 61 64 65 72 73 3a 20 4d 61 6b 65  R)/headers: Make
2f00: 66 69 6c 65 22 0a 77 72 69 74 65 6c 6e 20 22 5c  file".writeln "\
2f10: 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f  $(OBJDIR)/json.o
2f20: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e   \$(OBJDIR)/json
2f30: 5f 61 72 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f  _artifact.o \$(O
2f40: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e  BJDIR)/json_bran
2f50: 63 68 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ch.o \$(OBJDIR)/
2f60: 6a 73 6f 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24  json_config.o \$
2f70: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69  (OBJDIR)/json_di
2f80: 66 66 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ff.o \$(OBJDIR)/
2f90: 6a 73 6f 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42  json_dir.o \$(OB
2fa0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 66 69 6e 66 6f  JDIR)/json_finfo
2fb0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
2fc0: 6f 6e 5f 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42  on_login.o \$(OB
2fd0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79  JDIR)/json_query
2fe0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
2ff0: 6f 6e 5f 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f  on_report.o \$(O
3000: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74  BJDIR)/json_stat
3010: 75 73 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  us.o \$(OBJDIR)/
3020: 6a 73 6f 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42  json_tag.o \$(OB
3030: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c  JDIR)/json_timel
3040: 69 6e 65 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29  ine.o \$(OBJDIR)
3050: 2f 6a 73 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28  /json_user.o \$(
3060: 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b  OBJDIR)/json_wik
3070: 69 2e 6f 20 3a 20 5c 24 28 53 52 43 44 49 52 29  i.o : \$(SRCDIR)
3080: 2f 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 22 0a  /json_detail.h".
3090: 77 72 69 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c  writeln "Makefil
30a0: 65 3a 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28  e:".set extra_h(
30b0: 64 69 73 70 61 74 63 68 29 20 22 20 5c 24 28 4f  dispatch) " \$(O
30c0: 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65  BJDIR)/page_inde
30d0: 78 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f  x.h ".set extra_
30e0: 68 28 62 75 69 6c 74 69 6e 29 20 22 20 5c 24 28  h(builtin) " \$(
30f0: 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f  OBJDIR)/builtin_
3100: 64 61 74 61 2e 68 20 22 0a 73 65 74 20 65 78 74  data.h ".set ext
3110: 72 61 5f 68 28 73 74 79 6c 65 29 20 22 20 5c 24  ra_h(style) " \$
3120: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74  (OBJDIR)/default
3130: 5f 63 73 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63  _css.h "..foreac
3140: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
3150: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24   {.  writeln "\$
3160: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63  (OBJDIR)/${s}_.c
3170: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 24 73  :\t\$(SRCDIR)/$s
3180: 2e 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72  .c \$(OBJDIR)/tr
3190: 61 6e 73 6c 61 74 65 22 0a 20 20 77 72 69 74 65  anslate".  write
31a0: 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29  ln "\t\$(OBJDIR)
31b0: 2f 74 72 61 6e 73 6c 61 74 65 20 5c 24 28 53 52  /translate \$(SR
31c0: 43 44 49 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c  CDIR)/$s.c >\$@\
31d0: 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24  n".  writeln "\$
31e0: 28 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74  (OBJDIR)/$s.o:\t
31f0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
3200: 2e 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  .c \$(OBJDIR)/$s
3210: 2e 68 24 65 78 74 72 61 5f 68 28 24 73 29 5c 24  .h$extra_h($s)\$
3220: 28 53 52 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e  (SRCDIR)/config.
3230: 68 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74  h".  writeln "\t
3240: 5c 24 28 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f  \$(XTCC) -o \$(O
3250: 42 4a 44 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c  BJDIR)/$s.o -c \
3260: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e  $(OBJDIR)/${s}_.
3270: 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  c\n".  writeln "
3280: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 68 3a  \$(OBJDIR)/$s.h:
3290: 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61  \t\$(OBJDIR)/hea
32a0: 64 65 72 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65  ders\n".}..write
32b0: 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73  ln "\$(OBJDIR)/s
32c0: 71 6c 69 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 51  qlite3.o:\t\$(SQ
32d0: 4c 49 54 45 33 5f 53 52 43 29 22 0a 77 72 69 74  LITE3_SRC)".writ
32e0: 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20  eln "\t\$(XTCC) 
32f0: 5c 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  \$(SQLITE_OPTION
3300: 53 29 20 5c 24 28 53 51 4c 49 54 45 5f 43 46 4c  S) \$(SQLITE_CFL
3310: 41 47 53 29 20 5c 24 28 53 45 45 5f 46 4c 41 47  AGS) \$(SEE_FLAG
3320: 53 29 20 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22  S) \\".writeln "
3330: 5c 74 5c 74 2d 63 20 5c 24 28 53 51 4c 49 54 45  \t\t-c \$(SQLITE
3340: 33 5f 53 52 43 29 20 2d 6f 20 5c 24 40 22 0a 0a  3_SRC) -o \$@"..
3350: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44  writeln "\$(OBJD
3360: 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24  IR)/shell.o:\t\$
3370: 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53  (SQLITE3_SHELL_S
3380: 52 43 29 20 5c 24 28 53 52 43 44 49 52 29 2f 73  RC) \$(SRCDIR)/s
3390: 71 6c 69 74 65 33 2e 68 22 0a 77 72 69 74 65 6c  qlite3.h".writel
33a0: 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c 24  n "\t\$(XTCC) \$
33b0: 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20  (SHELL_OPTIONS) 
33c0: 5c 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29  \$(SHELL_CFLAGS)
33d0: 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20 5c   \$(SEE_FLAGS) \
33e0: 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e  $(LINENOISE_DEF.
33f0: 5c 24 28 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45  \$(USE_LINENOISE
3400: 29 29 20 2d 63 20 5c 24 28 53 51 4c 49 54 45 33  )) -c \$(SQLITE3
3410: 5f 53 48 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c  _SHELL_SRC) -o \
3420: 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22  $@\n"..writeln "
3430: 5c 24 28 4f 42 4a 44 49 52 29 2f 6c 69 6e 65 6e  \$(OBJDIR)/linen
3440: 6f 69 73 65 2e 6f 3a 5c 74 5c 24 28 53 52 43 44  oise.o:\t\$(SRCD
3450: 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 63 20  IR)/linenoise.c 
3460: 5c 24 28 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e  \$(SRCDIR)/linen
3470: 6f 69 73 65 2e 68 22 0a 77 72 69 74 65 6c 6e 20  oise.h".writeln 
3480: 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c  "\t\$(XTCC) -c \
3490: 24 28 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f  $(SRCDIR)/lineno
34a0: 69 73 65 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a  ise.c -o \$@\n".
34b0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ
34c0: 44 49 52 29 2f 74 68 2e 6f 3a 5c 74 5c 24 28 53  DIR)/th.o:\t\$(S
34d0: 52 43 44 49 52 29 2f 74 68 2e 63 22 0a 77 72 69  RCDIR)/th.c".wri
34e0: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC)
34f0: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74   -c \$(SRCDIR)/t
3500: 68 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77  h.c -o \$@\n"..w
3510: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
3520: 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c  R)/th_lang.o:\t\
3530: 24 28 53 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e  $(SRCDIR)/th_lan
3540: 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  g.c".writeln "\t
3550: 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53  \$(XTCC) -c \$(S
3560: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63  RCDIR)/th_lang.c
3570: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ
3580: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
3590: 74 68 5f 74 63 6c 2e 6f 3a 5c 74 5c 24 28 53 52  th_tcl.o:\t\$(SR
35a0: 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e 63 22 0a  CDIR)/th_tcl.c".
35b0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54  writeln "\t\$(XT
35c0: 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52  CC) -c \$(SRCDIR
35d0: 29 2f 74 68 5f 74 63 6c 2e 63 20 2d 6f 20 5c 24  )/th_tcl.c -o \$
35e0: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a  @\n"..writeln {.
35f0: 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e  $(OBJDIR)/miniz.
3600: 6f 3a 09 24 28 53 52 43 44 49 52 29 2f 6d 69 6e  o:.$(SRCDIR)/min
3610: 69 7a 2e 63 0a 09 24 28 58 54 43 43 29 20 24 28  iz.c..$(XTCC) $(
3620: 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 29 20 2d  MINIZ_OPTIONS) -
3630: 63 20 24 28 53 52 43 44 49 52 29 2f 6d 69 6e 69  c $(SRCDIR)/mini
3640: 7a 2e 63 20 2d 6f 20 24 40 0a 0a 24 28 4f 42 4a  z.c -o $@..$(OBJ
3650: 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61  DIR)/cson_amalga
3660: 6d 61 74 69 6f 6e 2e 6f 3a 20 24 28 53 52 43 44  mation.o: $(SRCD
3670: 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d  IR)/cson_amalgam
3680: 61 74 69 6f 6e 2e 63 0a 09 24 28 58 54 43 43 29  ation.c..$(XTCC)
3690: 20 2d 63 20 24 28 53 52 43 44 49 52 29 2f 63 73   -c $(SRCDIR)/cs
36a0: 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  on_amalgamation.
36b0: 63 20 2d 6f 20 24 40 0a 0a 23 0a 23 20 54 68 65  c -o $@..#.# The
36c0: 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 65   list of all the
36d0: 20 74 61 72 67 65 74 73 20 74 68 61 74 20 64 6f   targets that do
36e0: 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20   not correspond 
36f0: 74 6f 20 72 65 61 6c 20 66 69 6c 65 73 2e 20 54  to real files. T
3700: 68 69 73 20 73 74 6f 70 73 0a 23 20 27 6d 61 6b  his stops.# 'mak
3710: 65 27 20 66 72 6f 6d 20 67 65 74 74 69 6e 67 20  e' from getting 
3720: 63 6f 6e 66 75 73 65 64 20 77 68 65 6e 20 73 6f  confused when so
3730: 6d 65 6f 6e 65 20 6d 61 6b 65 73 20 61 6e 20 65  meone makes an e
3740: 72 72 6f 72 20 69 6e 20 61 20 72 75 6c 65 2e 0a  rror in a rule..
3750: 23 0a 0a 2e 50 48 4f 4e 59 3a 20 61 6c 6c 20 69  #...PHONY: all i
3760: 6e 73 74 61 6c 6c 20 74 65 73 74 20 63 6c 65 61  nstall test clea
3770: 6e 0a 7d 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70  n.}..close $outp
3780: 75 74 5f 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20  ut_file.#.# End 
3790: 6f 66 20 74 68 65 20 6d 61 69 6e 2e 6d 6b 20 6f  of the main.mk o
37a0: 75 74 70 75 74 0a 23 23 23 23 23 23 23 23 23 23  utput.##########
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 0a 23 23 23 23 23 23 23 23 23 23 23  ####.###########
3800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3810: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3820: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3840: 23 23 23 0a 23 23 23 23 23 23 23 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 0a 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d  ##.# Begin win/M
38a0: 61 6b 65 66 69 6c 65 2e 6d 69 6e 67 77 20 6f 75  akefile.mingw ou
38b0: 74 70 75 74 0a 23 0a 70 75 74 73 20 22 62 75 69  tput.#.puts "bui
38c0: 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b  lding ../win/Mak
38d0: 65 66 69 6c 65 2e 6d 69 6e 67 77 22 0a 73 65 74  efile.mingw".set
38e0: 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70   output_file [op
38f0: 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69  en ../win/Makefi
3900: 6c 65 2e 6d 69 6e 67 77 20 77 5d 0a 66 63 6f 6e  le.mingw w].fcon
3910: 66 69 67 75 72 65 20 24 6f 75 74 70 75 74 5f 66  figure $output_f
3920: 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e  ile -translation
3930: 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e   binary..writeln
3940: 20 7b 23 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b   {#!/usr/bin/mak
3950: 65 0a 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  e.#.############
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 0a 23 20 57 41 52 4e 49 4e 47 3a 20 44 4f  ##.# WARNING: DO
39b0: 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54 4f 4d   NOT EDIT, AUTOM
39c0: 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52 41 54  ATICALLY GENERAT
39d0: 45 44 20 46 49 4c 45 20 28 53 45 45 20 22 73 72  ED FILE (SEE "sr
39e0: 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 29  c/makemake.tcl")
39f0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
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 0a  ###############.
3a40: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73  #.# This file is
3a50: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67   automatically g
3a60: 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65  enerated.  Inste
3a70: 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74 68  ad of editing th
3a80: 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74 20  is.# file, edit 
3a90: 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74  "makemake.tcl" t
3aa0: 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20 6d  hen run "tclsh m
3ab0: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74  akemake.tcl".# t
3ac0: 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 69  o regenerate thi
3ad0: 73 20 66 69 6c 65 2e 0a 23 0a 23 20 54 68 69 73  s file..#.# This
3ae0: 20 69 73 20 61 20 6d 61 6b 65 66 69 6c 65 20 66   is a makefile f
3af0: 6f 72 20 75 73 65 20 6f 6e 20 43 79 67 77 69 6e  or use on Cygwin
3b00: 2f 44 61 72 77 69 6e 2f 46 72 65 65 42 53 44 2f  /Darwin/FreeBSD/
3b10: 4c 69 6e 75 78 2f 57 69 6e 64 6f 77 73 20 75 73  Linux/Windows us
3b20: 69 6e 67 0a 23 20 4d 69 6e 47 57 20 6f 72 20 4d  ing.# MinGW or M
3b30: 69 6e 47 57 2d 77 36 34 2e 0a 23 0a 23 20 53 6f  inGW-w64..#.# So
3b40: 6d 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 61  me of the specia
3b50: 6c 20 6f 70 74 69 6f 6e 73 20 77 68 69 63 68 20  l options which 
3b60: 63 61 6e 20 62 65 20 70 61 73 73 65 64 20 74 6f  can be passed to
3b70: 20 6d 61 6b 65 0a 23 20 20 20 55 53 45 5f 57 49   make.#   USE_WI
3b80: 4e 44 4f 57 53 3d 31 20 20 20 20 69 66 20 62 75  NDOWS=1    if bu
3b90: 69 6c 64 69 6e 67 20 75 6e 64 65 72 20 61 20 77  ilding under a w
3ba0: 69 6e 64 6f 77 73 20 63 6f 6d 6d 61 6e 64 20 70  indows command p
3bb0: 72 6f 6d 70 74 0a 23 20 20 20 58 36 34 3d 31 20  rompt.#   X64=1 
3bc0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 75 73             if us
3bd0: 69 6e 67 20 61 6e 20 75 6e 70 72 65 66 69 78 65  ing an unprefixe
3be0: 64 20 36 34 2d 62 69 74 20 6d 69 6e 67 77 20 63  d 64-bit mingw c
3bf0: 6f 6d 70 69 6c 65 72 0a 23 0a 0a 23 23 23 23 20  ompiler.#..#### 
3c00: 53 65 6c 65 63 74 20 6f 6e 65 20 6f 66 20 4d 69  Select one of Mi
3c10: 6e 47 57 2c 20 4d 69 6e 47 57 2d 77 36 34 20 28  nGW, MinGW-w64 (
3c20: 33 32 2d 62 69 74 29 20 6f 72 20 4d 69 6e 47 57  32-bit) or MinGW
3c30: 2d 77 36 34 20 28 36 34 2d 62 69 74 29 20 63 6f  -w64 (64-bit) co
3c40: 6d 70 69 6c 65 72 73 2e 0a 23 20 20 20 20 42 79  mpilers..#    By
3c50: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
3c60: 73 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e  s an empty strin
3c70: 67 20 28 69 2e 65 2e 20 75 73 65 20 74 68 65 20  g (i.e. use the 
3c80: 6e 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 72 29  native compiler)
3c90: 2e 0a 23 0a 50 52 45 46 49 58 20 3d 0a 23 20 50  ..#.PREFIX =.# P
3ca0: 52 45 46 49 58 20 3d 20 6d 69 6e 67 77 33 32 2d  REFIX = mingw32-
3cb0: 0a 23 20 50 52 45 46 49 58 20 3d 20 69 36 38 36  .# PREFIX = i686
3cc0: 2d 70 63 2d 6d 69 6e 67 77 33 32 2d 0a 23 20 50  -pc-mingw32-.# P
3cd0: 52 45 46 49 58 20 3d 20 69 36 38 36 2d 77 36 34  REFIX = i686-w64
3ce0: 2d 6d 69 6e 67 77 33 32 2d 0a 23 20 50 52 45 46  -mingw32-.# PREF
3cf0: 49 58 20 3d 20 78 38 36 5f 36 34 2d 77 36 34 2d  IX = x86_64-w64-
3d00: 6d 69 6e 67 77 33 32 2d 0a 0a 23 23 23 23 20 54  mingw32-..#### T
3d10: 68 65 20 74 6f 70 6c 65 76 65 6c 20 64 69 72 65  he toplevel dire
3d20: 63 74 6f 72 79 20 6f 66 20 74 68 65 20 73 6f 75  ctory of the sou
3d30: 72 63 65 20 74 72 65 65 2e 20 20 46 6f 73 73 69  rce tree.  Fossi
3d40: 6c 20 63 61 6e 20 62 65 20 62 75 69 6c 74 0a 23  l can be built.#
3d50: 20 20 20 20 69 6e 20 61 20 64 69 72 65 63 74 6f      in a directo
3d60: 72 79 20 74 68 61 74 20 69 73 20 73 65 70 61 72  ry that is separ
3d70: 61 74 65 20 66 72 6f 6d 20 74 68 65 20 73 6f 75  ate from the sou
3d80: 72 63 65 20 74 72 65 65 2e 20 20 4a 75 73 74 20  rce tree.  Just 
3d90: 63 68 61 6e 67 65 0a 23 20 20 20 20 74 68 65 20  change.#    the 
3da0: 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 70 6f 69  following to poi
3db0: 6e 74 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c  nt from the buil
3dc0: 64 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74  d directory to t
3dd0: 68 65 20 73 72 63 2f 20 66 6f 6c 64 65 72 2e 0a  he src/ folder..
3de0: 23 0a 53 52 43 44 49 52 20 3d 20 73 72 63 0a 0a  #.SRCDIR = src..
3df0: 23 23 23 23 20 54 68 65 20 64 69 72 65 63 74 6f  #### The directo
3e00: 72 79 20 69 6e 74 6f 20 77 68 69 63 68 20 6f 62  ry into which ob
3e10: 6a 65 63 74 20 63 6f 64 65 20 66 69 6c 65 73 20  ject code files 
3e20: 73 68 6f 75 6c 64 20 62 65 20 77 72 69 74 74 65  should be writte
3e30: 6e 2e 0a 23 0a 4f 42 4a 44 49 52 20 3d 20 77 62  n..#.OBJDIR = wb
3e40: 6c 64 0a 0a 23 23 23 23 20 43 20 63 6f 6d 70 69  ld..#### C compi
3e50: 6c 65 72 20 66 6f 72 20 75 73 65 20 69 6e 20 62  ler for use in b
3e60: 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62  uilding executab
3e70: 6c 65 73 20 74 68 61 74 20 77 69 6c 6c 20 72 75  les that will ru
3e80: 6e 20 6f 6e 0a 23 20 20 20 20 74 68 65 20 70 6c  n on.#    the pl
3e90: 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73 20 64  atform that is d
3ea0: 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64 2e 20  oing the build. 
3eb0: 20 54 68 69 73 20 69 73 20 75 73 65 64 20 74 6f   This is used to
3ec0: 20 63 6f 6d 70 69 6c 65 0a 23 20 20 20 20 63 6f   compile.#    co
3ed0: 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 70 72 6f  de-generator pro
3ee0: 67 72 61 6d 73 20 61 73 20 70 61 72 74 20 6f 66  grams as part of
3ef0: 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65   the build proce
3f00: 73 73 2e 20 20 53 65 65 20 54 43 43 0a 23 20 20  ss.  See TCC.#  
3f10: 20 20 61 6e 64 20 54 43 43 45 58 45 20 62 65 6c    and TCCEXE bel
3f20: 6f 77 20 66 6f 72 20 74 68 65 20 43 20 63 6f 6d  ow for the C com
3f30: 70 69 6c 65 72 20 66 6f 72 20 62 75 69 6c 64 69  piler for buildi
3f40: 6e 67 20 74 68 65 20 66 69 6e 69 73 68 65 64 0a  ng the finished.
3f50: 23 20 20 20 20 62 69 6e 61 72 79 2e 0a 23 0a 42  #    binary..#.B
3f60: 43 43 45 58 45 20 3d 20 67 63 63 0a 0a 23 23 23  CCEXE = gcc..###
3f70: 23 20 43 20 43 6f 6d 70 69 6c 65 72 20 61 6e 64  # C Compiler and
3f80: 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65   options for use
3f90: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65   in building exe
3fa0: 63 75 74 61 62 6c 65 73 20 74 68 61 74 0a 23 20  cutables that.# 
3fb0: 20 20 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74     will run on t
3fc0: 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 61 74  he platform that
3fd0: 20 69 73 20 64 6f 69 6e 67 20 74 68 65 20 62 75   is doing the bu
3fe0: 69 6c 64 2e 20 20 54 68 69 73 20 69 73 20 75 73  ild.  This is us
3ff0: 65 64 0a 23 20 20 20 20 74 6f 20 63 6f 6d 70 69  ed.#    to compi
4000: 6c 65 20 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f  le code-generato
4010: 72 20 70 72 6f 67 72 61 6d 73 20 61 73 20 70 61  r programs as pa
4020: 72 74 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20  rt of the build 
4030: 70 72 6f 63 65 73 73 2e 0a 23 20 20 20 20 53 65  process..#    Se
4040: 65 20 54 43 43 20 62 65 6c 6f 77 20 66 6f 72 20  e TCC below for 
4050: 74 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 66  the C compiler f
4060: 6f 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20  or building the 
4070: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 2e  finished binary.
4080: 0a 23 0a 42 43 43 20 3d 20 24 28 42 43 43 45 58  .#.BCC = $(BCCEX
4090: 45 29 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65 20  E)..#### Enable 
40a0: 63 6f 6d 70 69 6c 69 6e 67 20 77 69 74 68 20 64  compiling with d
40b0: 65 62 75 67 20 73 79 6d 62 6f 6c 73 20 28 6d 75  ebug symbols (mu
40c0: 63 68 20 6c 61 72 67 65 72 20 62 69 6e 61 72 79  ch larger binary
40d0: 29 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41  ).#.# FOSSIL_ENA
40e0: 42 4c 45 5f 53 59 4d 42 4f 4c 53 20 3d 20 31 0a  BLE_SYMBOLS = 1.
40f0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 4a 53 4f  .#### Enable JSO
4100: 4e 20 28 68 74 74 70 3a 2f 2f 77 77 77 2e 6a 73  N (http://www.js
4110: 6f 6e 2e 6f 72 67 29 20 73 75 70 70 6f 72 74 20  on.org) support 
4120: 75 73 69 6e 67 20 22 63 73 6f 6e 22 0a 23 0a 23  using "cson".#.#
4130: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a   FOSSIL_ENABLE_J
4140: 53 4f 4e 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e  SON = 1..#### En
4150: 61 62 6c 65 20 48 54 54 50 53 20 73 75 70 70 6f  able HTTPS suppo
4160: 72 74 20 76 69 61 20 4f 70 65 6e 53 53 4c 20 28  rt via OpenSSL (
4170: 6c 69 6e 6b 73 20 74 6f 20 6c 69 62 73 73 6c 20  links to libssl 
4180: 61 6e 64 20 6c 69 62 63 72 79 70 74 6f 29 0a 23  and libcrypto).#
4190: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  .# FOSSIL_ENABLE
41a0: 5f 53 53 4c 20 3d 20 31 0a 0a 23 23 23 23 20 41  _SSL = 1..#### A
41b0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 75 69  utomatically bui
41c0: 6c 64 20 4f 70 65 6e 53 53 4c 20 77 68 65 6e 20  ld OpenSSL when 
41d0: 62 75 69 6c 64 69 6e 67 20 46 6f 73 73 69 6c 20  building Fossil 
41e0: 28 63 61 75 73 65 73 20 72 65 62 75 69 6c 64 0a  (causes rebuild.
41f0: 23 20 20 20 20 69 73 73 75 65 73 20 77 68 65 6e  #    issues when
4200: 20 62 75 69 6c 64 69 6e 67 20 69 6e 63 72 65 6d   building increm
4210: 65 6e 74 61 6c 6c 79 29 2e 0a 23 0a 23 20 46 4f  entally)..#.# FO
4220: 53 53 49 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d  SSIL_BUILD_SSL =
4230: 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65 20   1..#### Enable 
4240: 72 65 6c 61 74 69 76 65 20 70 61 74 68 73 20 69  relative paths i
4250: 6e 20 65 78 74 65 72 6e 61 6c 20 64 69 66 66 2f  n external diff/
4260: 67 64 69 66 66 0a 23 0a 23 20 46 4f 53 53 49 4c  gdiff.#.# FOSSIL
4270: 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c  _ENABLE_EXEC_REL
4280: 5f 50 41 54 48 53 20 3d 20 31 0a 0a 23 23 23 23  _PATHS = 1..####
4290: 20 45 6e 61 62 6c 65 20 6c 65 67 61 63 79 20 74   Enable legacy t
42a0: 72 65 61 74 6d 65 6e 74 20 6f 66 20 6d 76 2f 72  reatment of mv/r
42b0: 6d 20 28 73 6b 69 70 20 63 68 65 63 6b 6f 75 74  m (skip checkout
42c0: 20 66 69 6c 65 73 29 0a 23 0a 23 20 46 4f 53 53   files).#.# FOSS
42d0: 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59  IL_ENABLE_LEGACY
42e0: 5f 4d 56 5f 52 4d 20 3d 20 31 0a 0a 23 23 23 23  _MV_RM = 1..####
42f0: 20 45 6e 61 62 6c 65 20 54 48 31 20 73 63 72 69   Enable TH1 scri
4300: 70 74 73 20 69 6e 20 65 6d 62 65 64 64 65 64 20  pts in embedded 
4310: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69  documentation fi
4320: 6c 65 73 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45  les.#.# FOSSIL_E
4330: 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 20 3d  NABLE_TH1_DOCS =
4340: 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65 20   1..#### Enable 
4350: 68 6f 6f 6b 73 20 66 6f 72 20 63 6f 6d 6d 61 6e  hooks for comman
4360: 64 73 20 61 6e 64 20 77 65 62 20 70 61 67 65 73  ds and web pages
4370: 20 76 69 61 20 54 48 31 0a 23 0a 23 20 46 4f 53   via TH1.#.# FOS
4380: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48  SIL_ENABLE_TH1_H
4390: 4f 4f 4b 53 20 3d 20 31 0a 0a 23 23 23 23 20 45  OOKS = 1..#### E
43a0: 6e 61 62 6c 65 20 73 63 72 69 70 74 69 6e 67 20  nable scripting 
43b0: 73 75 70 70 6f 72 74 20 76 69 61 20 54 63 6c 2f  support via Tcl/
43c0: 54 6b 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e  Tk.#.# FOSSIL_EN
43d0: 41 42 4c 45 5f 54 43 4c 20 3d 20 31 0a 0a 23 23  ABLE_TCL = 1..##
43e0: 23 23 20 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e  ## Load Tcl usin
43f0: 67 20 74 68 65 20 73 74 75 62 73 20 6c 69 62 72  g the stubs libr
4400: 61 72 79 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a  ary mechanism.#.
4410: 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  # FOSSIL_ENABLE_
4420: 54 43 4c 5f 53 54 55 42 53 20 3d 20 31 0a 0a 23  TCL_STUBS = 1..#
4430: 23 23 23 20 4c 6f 61 64 20 54 63 6c 20 75 73 69  ### Load Tcl usi
4440: 6e 67 20 74 68 65 20 70 72 69 76 61 74 65 20 73  ng the private s
4450: 74 75 62 73 20 6d 65 63 68 61 6e 69 73 6d 0a 23  tubs mechanism.#
4460: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  .# FOSSIL_ENABLE
4470: 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53 54 55  _TCL_PRIVATE_STU
4480: 42 53 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 65  BS = 1..#### Use
4490: 20 27 73 79 73 74 65 6d 27 20 53 51 4c 69 74 65   'system' SQLite
44a0: 0a 23 0a 23 20 55 53 45 5f 53 59 53 54 45 4d 5f  .#.# USE_SYSTEM_
44b0: 53 51 4c 49 54 45 20 3d 20 31 0a 0a 23 23 23 23  SQLITE = 1..####
44c0: 20 55 73 65 20 74 68 65 20 53 51 4c 69 74 65 20   Use the SQLite 
44d0: 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 65 6e  Encryption Exten
44e0: 73 69 6f 6e 0a 23 0a 23 20 55 53 45 5f 53 45 45  sion.#.# USE_SEE
44f0: 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 74   = 1..#### Use t
4500: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73  he miniz compres
4510: 73 69 6f 6e 20 6c 69 62 72 61 72 79 0a 23 0a 23  sion library.#.#
4520: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d   FOSSIL_ENABLE_M
4530: 49 4e 49 5a 20 3d 20 31 0a 0a 23 23 23 23 20 55  INIZ = 1..#### U
4540: 73 65 20 74 68 65 20 54 63 6c 20 73 6f 75 72 63  se the Tcl sourc
4550: 65 20 64 69 72 65 63 74 6f 72 79 20 69 6e 73 74  e directory inst
4560: 65 61 64 20 6f 66 20 74 68 65 20 69 6e 73 74 61  ead of the insta
4570: 6c 6c 20 64 69 72 65 63 74 6f 72 79 3f 0a 23 20  ll directory?.# 
4580: 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75     This is usefu
4590: 6c 20 77 68 65 6e 20 54 63 6c 20 68 61 73 20 62  l when Tcl has b
45a0: 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 73 74 61  een compiled sta
45b0: 74 69 63 61 6c 6c 79 20 77 69 74 68 20 4d 69 6e  tically with Min
45c0: 47 57 2e 0a 23 0a 46 4f 53 53 49 4c 5f 54 43 4c  GW..#.FOSSIL_TCL
45d0: 5f 53 4f 55 52 43 45 20 3d 20 31 0a 0a 23 23 23  _SOURCE = 1..###
45e0: 23 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 77  # Check if the w
45f0: 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 74 68  orkaround for th
4600: 65 20 4d 69 6e 47 57 20 63 6f 6d 6d 61 6e 64 20  e MinGW command 
4610: 6c 69 6e 65 20 68 61 6e 64 6c 69 6e 67 20 6e 65  line handling ne
4620: 65 64 73 20 74 6f 0a 23 20 20 20 20 62 65 20 65  eds to.#    be e
4630: 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c  nabled by defaul
4640: 74 2e 20 20 54 68 69 73 20 63 68 65 63 6b 20 6d  t.  This check m
4650: 61 79 20 62 65 20 73 6f 6d 65 77 68 61 74 20 66  ay be somewhat f
4660: 72 61 67 69 6c 65 20 64 75 65 20 74 6f 20 74 68  ragile due to th
4670: 65 0a 23 20 20 20 20 75 73 65 20 6f 66 20 22 66  e.#    use of "f
4680: 69 6e 64 73 74 72 69 6e 67 22 2e 0a 23 0a 69 66  indstring"..#.if
4690: 6e 64 65 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32  ndef MINGW_IS_32
46a0: 42 49 54 5f 4f 4e 4c 59 0a 69 66 65 71 20 28 2c  BIT_ONLY.ifeq (,
46b0: 24 28 66 69 6e 64 73 74 72 69 6e 67 20 77 36 34  $(findstring w64
46c0: 2d 6d 69 6e 67 77 33 32 2c 24 28 50 52 45 46 49  -mingw32,$(PREFI
46d0: 58 29 29 29 0a 4d 49 4e 47 57 5f 49 53 5f 33 32  X))).MINGW_IS_32
46e0: 42 49 54 5f 4f 4e 4c 59 20 3d 20 31 0a 65 6e 64  BIT_ONLY = 1.end
46f0: 69 66 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 54  if.endif..#### T
4700: 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 77  he directories w
4710: 68 65 72 65 20 74 68 65 20 7a 6c 69 62 20 69 6e  here the zlib in
4720: 63 6c 75 64 65 20 61 6e 64 20 6c 69 62 72 61 72  clude and librar
4730: 79 20 66 69 6c 65 73 20 61 72 65 20 6c 6f 63 61  y files are loca
4740: 74 65 64 2e 0a 23 0a 5a 49 4e 43 44 49 52 20 3d  ted..#.ZINCDIR =
4750: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f   $(SRCDIR)/../co
4760: 6d 70 61 74 2f 7a 6c 69 62 0a 5a 4c 49 42 44 49  mpat/zlib.ZLIBDI
4770: 52 20 3d 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  R = $(SRCDIR)/..
4780: 2f 63 6f 6d 70 61 74 2f 7a 6c 69 62 0a 0a 23 23  /compat/zlib..##
4790: 23 23 20 4d 61 6b 65 20 61 6e 20 61 74 74 65 6d  ## Make an attem
47a0: 70 74 20 74 6f 20 64 65 74 65 63 74 20 69 66 20  pt to detect if 
47b0: 46 6f 73 73 69 6c 20 69 73 20 62 65 69 6e 67 20  Fossil is being 
47c0: 62 75 69 6c 74 20 66 6f 72 20 74 68 65 20 78 36  built for the x6
47d0: 34 20 70 72 6f 63 65 73 73 6f 72 0a 23 20 20 20  4 processor.#   
47e0: 20 61 72 63 68 69 74 65 63 74 75 72 65 2e 20 20   architecture.  
47f0: 54 68 69 73 20 63 68 65 63 6b 20 6d 61 79 20 62  This check may b
4800: 65 20 73 6f 6d 65 77 68 61 74 20 66 72 61 67 69  e somewhat fragi
4810: 6c 65 20 64 75 65 20 74 6f 20 22 66 69 6e 64 73  le due to "finds
4820: 74 72 69 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 66  tring"..#.ifndef
4830: 20 58 36 34 0a 69 66 6e 65 71 20 28 2c 24 28 66   X64.ifneq (,$(f
4840: 69 6e 64 73 74 72 69 6e 67 20 78 38 36 5f 36 34  indstring x86_64
4850: 2d 77 36 34 2d 6d 69 6e 67 77 33 32 2c 24 28 50  -w64-mingw32,$(P
4860: 52 45 46 49 58 29 29 29 0a 58 36 34 20 3d 20 31  REFIX))).X64 = 1
4870: 0a 65 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23 23  .endif.endif..##
4880: 23 23 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20  ## Determine if 
4890: 74 68 65 20 6f 70 74 69 6d 69 7a 65 64 20 61 73  the optimized as
48a0: 73 65 6d 62 6c 79 20 72 6f 75 74 69 6e 65 73 20  sembly routines 
48b0: 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 7a 6c  provided with zl
48c0: 69 62 20 73 68 6f 75 6c 64 20 62 65 0a 23 20 20  ib should be.#  
48d0: 20 20 75 73 65 64 2c 20 74 61 6b 69 6e 67 20 69    used, taking i
48e0: 6e 74 6f 20 61 63 63 6f 75 6e 74 20 77 68 65 74  nto account whet
48f0: 68 65 72 20 7a 6c 69 62 20 69 73 20 61 63 74 75  her zlib is actu
4900: 61 6c 6c 79 20 65 6e 61 62 6c 65 64 20 61 6e 64  ally enabled and
4910: 20 74 68 65 20 74 61 72 67 65 74 0a 23 20 20 20   the target.#   
4920: 20 70 72 6f 63 65 73 73 6f 72 20 61 72 63 68 69   processor archi
4930: 74 65 63 74 75 72 65 2e 0a 23 0a 69 66 6e 64 65  tecture..#.ifnde
4940: 66 20 58 36 34 0a 53 53 4c 43 4f 4e 46 49 47 20  f X64.SSLCONFIG 
4950: 3d 20 6d 69 6e 67 77 0a 69 66 6e 64 65 66 20 46  = mingw.ifndef F
4960: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e  OSSIL_ENABLE_MIN
4970: 49 5a 0a 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 20  IZ.ZLIBCONFIG = 
4980: 4c 4f 43 3d 22 2d 44 41 53 4d 56 20 2d 44 41 53  LOC="-DASMV -DAS
4990: 4d 49 4e 46 22 20 4f 42 4a 41 3d 22 69 6e 66 66  MINF" OBJA="inff
49a0: 61 73 38 36 2e 6f 20 6d 61 74 63 68 2e 6f 22 0a  as86.o match.o".
49b0: 5a 4c 49 42 54 41 52 47 45 54 53 20 3d 20 24 28  ZLIBTARGETS = $(
49c0: 5a 4c 49 42 44 49 52 29 2f 69 6e 66 66 61 73 38  ZLIBDIR)/inffas8
49d0: 36 2e 6f 20 24 28 5a 4c 49 42 44 49 52 29 2f 6d  6.o $(ZLIBDIR)/m
49e0: 61 74 63 68 2e 6f 0a 65 6c 73 65 0a 5a 4c 49 42  atch.o.else.ZLIB
49f0: 43 4f 4e 46 49 47 20 3d 0a 5a 4c 49 42 54 41 52  CONFIG =.ZLIBTAR
4a00: 47 45 54 53 20 3d 0a 65 6e 64 69 66 0a 65 6c 73  GETS =.endif.els
4a10: 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 69  e.SSLCONFIG = mi
4a20: 6e 67 77 36 34 0a 5a 4c 49 42 43 4f 4e 46 49 47  ngw64.ZLIBCONFIG
4a30: 20 3d 0a 5a 4c 49 42 54 41 52 47 45 54 53 20 3d   =.ZLIBTARGETS =
4a40: 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 44 69 73  .endif..#### Dis
4a50: 61 62 6c 65 20 63 72 65 61 74 69 6f 6e 20 6f 66  able creation of
4a60: 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 73 68 61   the OpenSSL sha
4a70: 72 65 64 20 6c 69 62 72 61 72 69 65 73 2e 20 20  red libraries.  
4a80: 41 6c 73 6f 2c 20 64 69 73 61 62 6c 65 20 73 75  Also, disable su
4a90: 70 70 6f 72 74 0a 23 20 20 20 20 66 6f 72 20 62  pport.#    for b
4aa0: 6f 74 68 20 53 53 4c 76 32 20 61 6e 64 20 53 53  oth SSLv2 and SS
4ab0: 4c 76 33 20 28 69 2e 65 2e 20 74 68 65 72 65 62  Lv3 (i.e. thereb
4ac0: 79 20 66 6f 72 63 69 6e 67 20 74 68 65 20 75 73  y forcing the us
4ad0: 65 20 6f 66 20 54 4c 53 29 2e 0a 23 0a 53 53 4c  e of TLS)..#.SSL
4ae0: 43 4f 4e 46 49 47 20 2b 3d 20 6e 6f 2d 73 73 6c  CONFIG += no-ssl
4af0: 32 20 6e 6f 2d 73 73 6c 33 20 6e 6f 2d 73 68 61  2 no-ssl3 no-sha
4b00: 72 65 64 0a 0a 23 23 23 23 20 57 68 65 6e 20 75  red..#### When u
4b10: 73 69 6e 67 20 7a 6c 69 62 2c 20 6d 61 6b 65 20  sing zlib, make 
4b20: 73 75 72 65 20 74 68 61 74 20 4f 70 65 6e 53 53  sure that OpenSS
4b30: 4c 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20  L is configured 
4b40: 74 6f 20 75 73 65 20 74 68 65 20 7a 6c 69 62 0a  to use the zlib.
4b50: 23 20 20 20 20 74 68 61 74 20 46 6f 73 73 69 6c  #    that Fossil
4b60: 20 6b 6e 6f 77 73 20 61 62 6f 75 74 20 28 69 2e   knows about (i.
4b70: 65 2e 20 74 68 65 20 6f 6e 65 20 77 69 74 68 69  e. the one withi
4b80: 6e 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65  n the source tre
4b90: 65 29 2e 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53  e)..#.ifndef FOS
4ba0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
4bb0: 0a 53 53 4c 43 4f 4e 46 49 47 20 2b 3d 20 20 2d  .SSLCONFIG +=  -
4bc0: 2d 77 69 74 68 2d 7a 6c 69 62 2d 6c 69 62 3d 24  -with-zlib-lib=$
4bd0: 28 50 57 44 29 2f 24 28 5a 4c 49 42 44 49 52 29  (PWD)/$(ZLIBDIR)
4be0: 20 2d 2d 77 69 74 68 2d 7a 6c 69 62 2d 69 6e 63   --with-zlib-inc
4bf0: 6c 75 64 65 3d 24 28 50 57 44 29 2f 24 28 5a 4c  lude=$(PWD)/$(ZL
4c00: 49 42 44 49 52 29 20 7a 6c 69 62 0a 65 6e 64 69  IBDIR) zlib.endi
4c10: 66 0a 0a 23 23 23 23 20 54 68 65 20 64 69 72 65  f..#### The dire
4c20: 63 74 6f 72 69 65 73 20 77 68 65 72 65 20 74 68  ctories where th
4c30: 65 20 4f 70 65 6e 53 53 4c 20 69 6e 63 6c 75 64  e OpenSSL includ
4c40: 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 69  e and library fi
4c50: 6c 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 2e  les are located.
4c60: 0a 23 20 20 20 20 54 68 65 20 72 65 63 6f 6d 6d  .#    The recomm
4c70: 65 6e 64 65 64 20 75 73 61 67 65 20 68 65 72 65  ended usage here
4c80: 20 69 73 20 74 6f 20 75 73 65 20 74 68 65 20 53   is to use the S
4c90: 79 73 69 6e 74 65 72 6e 61 6c 73 20 6a 75 6e 63  ysinternals junc
4ca0: 74 69 6f 6e 20 74 6f 6f 6c 0a 23 20 20 20 20 74  tion tool.#    t
4cb0: 6f 20 63 72 65 61 74 65 20 61 20 68 61 72 64 20  o create a hard 
4cc0: 6c 69 6e 6b 20 62 65 74 77 65 65 6e 20 61 6e 20  link between an 
4cd0: 22 6f 70 65 6e 73 73 6c 2d 31 2e 78 22 20 73 75  "openssl-1.x" su
4ce0: 62 2d 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74  b-directory of t
4cf0: 68 65 0a 23 20 20 20 20 46 6f 73 73 69 6c 20 73  he.#    Fossil s
4d00: 6f 75 72 63 65 20 63 6f 64 65 20 64 69 72 65 63  ource code direc
4d10: 74 6f 72 79 20 61 6e 64 20 74 68 65 20 74 61 72  tory and the tar
4d20: 67 65 74 20 4f 70 65 6e 53 53 4c 20 73 6f 75 72  get OpenSSL sour
4d30: 63 65 20 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a  ce directory..#.
4d40: 4f 50 45 4e 53 53 4c 44 49 52 20 3d 20 24 28 53  OPENSSLDIR = $(S
4d50: 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 74  RCDIR)/../compat
4d60: 2f 6f 70 65 6e 73 73 6c 2d 31 2e 30 2e 32 6e 0a  /openssl-1.0.2n.
4d70: 4f 50 45 4e 53 53 4c 49 4e 43 44 49 52 20 3d 20  OPENSSLINCDIR = 
4d80: 24 28 4f 50 45 4e 53 53 4c 44 49 52 29 2f 69 6e  $(OPENSSLDIR)/in
4d90: 63 6c 75 64 65 0a 4f 50 45 4e 53 53 4c 4c 49 42  clude.OPENSSLLIB
4da0: 44 49 52 20 3d 20 24 28 4f 50 45 4e 53 53 4c 44  DIR = $(OPENSSLD
4db0: 49 52 29 0a 0a 23 23 23 23 20 45 69 74 68 65 72  IR)..#### Either
4dc0: 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77   the directory w
4dd0: 68 65 72 65 20 74 68 65 20 54 63 6c 20 6c 69 62  here the Tcl lib
4de0: 72 61 72 79 20 69 73 20 69 6e 73 74 61 6c 6c 65  rary is installe
4df0: 64 20 6f 72 20 74 68 65 20 54 63 6c 0a 23 20 20  d or the Tcl.#  
4e00: 20 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64 69    source code di
4e10: 72 65 63 74 6f 72 79 20 72 65 73 69 64 65 73 20  rectory resides 
4e20: 28 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68  (depending on th
4e30: 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6d  e value of the m
4e40: 61 63 72 6f 0a 23 20 20 20 20 46 4f 53 53 49 4c  acro.#    FOSSIL
4e50: 5f 54 43 4c 5f 53 4f 55 52 43 45 29 2e 20 20 49  _TCL_SOURCE).  I
4e60: 66 20 74 68 69 73 20 70 6f 69 6e 74 73 20 74 6f  f this points to
4e70: 20 74 68 65 20 54 63 6c 20 69 6e 73 74 61 6c 6c   the Tcl install
4e80: 20 64 69 72 65 63 74 6f 72 79 2c 0a 23 20 20 20   directory,.#   
4e90: 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 20   this directory 
4ea0: 6d 75 73 74 20 68 61 76 65 20 22 69 6e 63 6c 75  must have "inclu
4eb0: 64 65 22 20 61 6e 64 20 22 6c 69 62 22 20 73 75  de" and "lib" su
4ec0: 62 2d 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20  b-directories.  
4ed0: 49 66 0a 23 20 20 20 20 74 68 69 73 20 70 6f 69  If.#    this poi
4ee0: 6e 74 73 20 74 6f 20 74 68 65 20 54 63 6c 20 73  nts to the Tcl s
4ef0: 6f 75 72 63 65 20 63 6f 64 65 20 64 69 72 65 63  ource code direc
4f00: 74 6f 72 79 2c 20 74 68 69 73 20 64 69 72 65 63  tory, this direc
4f10: 74 6f 72 79 20 6d 75 73 74 0a 23 20 20 20 20 68  tory must.#    h
4f20: 61 76 65 20 22 67 65 6e 65 72 69 63 22 20 61 6e  ave "generic" an
4f30: 64 20 22 77 69 6e 22 20 73 75 62 2d 64 69 72 65  d "win" sub-dire
4f40: 63 74 6f 72 69 65 73 2e 20 20 54 68 65 20 72 65  ctories.  The re
4f50: 63 6f 6d 6d 65 6e 64 65 64 20 75 73 61 67 65 0a  commended usage.
4f60: 23 20 20 20 20 68 65 72 65 20 69 73 20 74 6f 20  #    here is to 
4f70: 75 73 65 20 74 68 65 20 53 79 73 69 6e 74 65 72  use the Sysinter
4f80: 6e 61 6c 73 20 6a 75 6e 63 74 69 6f 6e 20 74 6f  nals junction to
4f90: 6f 6c 20 74 6f 20 63 72 65 61 74 65 20 61 20 68  ol to create a h
4fa0: 61 72 64 0a 23 20 20 20 20 6c 69 6e 6b 20 62 65  ard.#    link be
4fb0: 74 77 65 65 6e 20 61 20 22 74 63 6c 2d 38 2e 78  tween a "tcl-8.x
4fc0: 22 20 73 75 62 2d 64 69 72 65 63 74 6f 72 79 20  " sub-directory 
4fd0: 6f 66 20 74 68 65 20 46 6f 73 73 69 6c 20 73 6f  of the Fossil so
4fe0: 75 72 63 65 20 63 6f 64 65 0a 23 20 20 20 20 64  urce code.#    d
4ff0: 69 72 65 63 74 6f 72 79 20 61 6e 64 20 74 68 65  irectory and the
5000: 20 74 61 72 67 65 74 20 54 63 6c 20 64 69 72 65   target Tcl dire
5010: 63 74 6f 72 79 2e 20 20 54 68 69 73 20 72 65 6d  ctory.  This rem
5020: 6f 76 65 73 20 74 68 65 20 6e 65 65 64 20 74 6f  oves the need to
5030: 0a 23 20 20 20 20 68 61 72 64 2d 63 6f 64 65 20  .#    hard-code 
5040: 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 70 61  the necessary pa
5050: 74 68 73 20 69 6e 20 74 68 69 73 20 4d 61 6b 65  ths in this Make
5060: 66 69 6c 65 2e 0a 23 0a 54 43 4c 44 49 52 20 3d  file..#.TCLDIR =
5070: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f   $(SRCDIR)/../co
5080: 6d 70 61 74 2f 74 63 6c 2d 38 2e 36 0a 0a 23 23  mpat/tcl-8.6..##
5090: 23 23 20 54 68 65 20 54 63 6c 20 73 6f 75 72 63  ## The Tcl sourc
50a0: 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72 79  e code directory
50b0: 2e 20 20 54 68 69 73 20 64 65 66 61 75 6c 74 73  .  This defaults
50c0: 20 74 6f 20 74 68 65 20 73 61 6d 65 20 76 61 6c   to the same val
50d0: 75 65 20 61 73 0a 23 20 20 20 20 54 43 4c 44 49  ue as.#    TCLDI
50e0: 52 20 6d 61 63 72 6f 20 28 61 62 6f 76 65 29 2c  R macro (above),
50f0: 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 62   which may not b
5100: 65 20 63 6f 72 72 65 63 74 2e 20 20 54 68 69 73  e correct.  This
5110: 20 76 61 6c 75 65 20 77 69 6c 6c 0a 23 20 20 20   value will.#   
5120: 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 66   only be used if
5130: 20 74 68 65 20 46 4f 53 53 49 4c 5f 54 43 4c 5f   the FOSSIL_TCL_
5140: 53 4f 55 52 43 45 20 6d 61 63 72 6f 20 69 73 20  SOURCE macro is 
5150: 64 65 66 69 6e 65 64 2e 0a 23 0a 54 43 4c 53 52  defined..#.TCLSR
5160: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  CDIR = $(TCLDIR)
5170: 0a 0a 23 23 23 23 20 54 68 65 20 54 63 6c 20 69  ..#### The Tcl i
5180: 6e 63 6c 75 64 65 20 61 6e 64 20 6c 69 62 72 61  nclude and libra
5190: 72 79 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20  ry directories. 
51a0: 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 77 69   These values wi
51b0: 6c 6c 20 6f 6e 6c 79 20 62 65 0a 23 20 20 20 20  ll only be.#    
51c0: 75 73 65 64 20 69 66 20 74 68 65 20 46 4f 53 53  used if the FOSS
51d0: 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45 20 6d 61  IL_TCL_SOURCE ma
51e0: 63 72 6f 20 69 73 20 6e 6f 74 20 64 65 66 69 6e  cro is not defin
51f0: 65 64 2e 0a 23 0a 54 43 4c 49 4e 43 44 49 52 20  ed..#.TCLINCDIR 
5200: 3d 20 24 28 54 43 4c 44 49 52 29 2f 69 6e 63 6c  = $(TCLDIR)/incl
5210: 75 64 65 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20  ude.TCLLIBDIR = 
5220: 24 28 54 43 4c 44 49 52 29 2f 6c 69 62 0a 0a 23  $(TCLDIR)/lib..#
5230: 23 23 23 20 54 63 6c 3a 20 57 68 69 63 68 20 54  ### Tcl: Which T
5240: 63 6c 20 6c 69 62 72 61 72 79 20 64 6f 20 77 65  cl library do we
5250: 20 77 61 6e 74 20 74 6f 20 75 73 65 20 28 38 2e   want to use (8.
5260: 34 2c 20 38 2e 35 2c 20 38 2e 36 2c 20 65 74 63  4, 8.5, 8.6, etc
5270: 29 3f 0a 23 0a 69 66 64 65 66 20 46 4f 53 53 49  )?.#.ifdef FOSSI
5280: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55  L_ENABLE_TCL_STU
5290: 42 53 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c  BS.ifndef FOSSIL
52a0: 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56  _ENABLE_TCL_PRIV
52b0: 41 54 45 5f 53 54 55 42 53 0a 4c 49 42 54 43 4c  ATE_STUBS.LIBTCL
52c0: 20 3d 20 2d 6c 74 63 6c 73 74 75 62 38 36 0a 65   = -ltclstub86.e
52d0: 6e 64 69 66 0a 54 43 4c 54 41 52 47 45 54 20 3d  ndif.TCLTARGET =
52e0: 20 6c 69 62 74 63 6c 73 74 75 62 38 36 2e 61 0a   libtclstub86.a.
52f0: 65 6c 73 65 0a 4c 49 42 54 43 4c 20 3d 20 2d 6c  else.LIBTCL = -l
5300: 74 63 6c 38 36 0a 54 43 4c 54 41 52 47 45 54 20  tcl86.TCLTARGET 
5310: 3d 20 62 69 6e 61 72 69 65 73 0a 65 6e 64 69 66  = binaries.endif
5320: 0a 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c 65  ..#### C compile
5330: 72 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  r for use in bui
5340: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
5350: 73 20 74 68 61 74 20 77 69 6c 6c 20 72 75 6e 20  s that will run 
5360: 6f 6e 20 74 68 65 0a 23 20 20 20 20 74 61 72 67  on the.#    targ
5370: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68  et platform.  Th
5380: 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68  is is usually th
5390: 65 20 73 61 6d 65 20 61 73 20 42 43 43 45 58 45  e same as BCCEXE
53a0: 2c 20 75 6e 6c 65 73 73 20 79 6f 75 0a 23 20 20  , unless you.#  
53b0: 20 20 61 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70    are cross-comp
53c0: 69 6c 69 6e 67 2e 20 20 54 68 69 73 20 43 20 63  iling.  This C c
53d0: 6f 6d 70 69 6c 65 72 20 62 75 69 6c 64 73 20 74  ompiler builds t
53e0: 68 65 20 66 69 6e 69 73 68 65 64 20 62 69 6e 61  he finished bina
53f0: 72 79 0a 23 20 20 20 20 66 6f 72 20 66 6f 73 73  ry.#    for foss
5400: 69 6c 2e 20 20 53 65 65 20 42 43 43 20 61 6e 64  il.  See BCC and
5410: 20 42 43 43 45 58 45 20 61 62 6f 76 65 20 66 6f   BCCEXE above fo
5420: 72 20 74 68 65 20 43 20 63 6f 6d 70 69 6c 65 72  r the C compiler
5430: 20 66 6f 72 0a 23 20 20 20 20 62 75 69 6c 64 69   for.#    buildi
5440: 6e 67 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20  ng intermediate 
5450: 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 74  code-generator t
5460: 6f 6f 6c 73 2e 0a 23 0a 54 43 43 45 58 45 20 3d  ools..#.TCCEXE =
5470: 20 67 63 63 0a 0a 23 23 23 23 20 43 20 63 6f 6d   gcc..#### C com
5480: 70 69 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e  piler and option
5490: 73 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69  s for use in bui
54a0: 6c 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65  lding executable
54b0: 73 20 74 68 61 74 20 77 69 6c 6c 0a 23 20 20 20  s that will.#   
54c0: 20 72 75 6e 20 6f 6e 20 74 68 65 20 74 61 72 67   run on the targ
54d0: 65 74 20 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68  et platform.  Th
54e0: 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68  is is usually th
54f0: 65 20 61 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d  e almost the sam
5500: 65 0a 23 20 20 20 20 61 73 20 42 43 43 2c 20 75  e.#    as BCC, u
5510: 6e 6c 65 73 73 20 79 6f 75 20 61 72 65 20 63 72  nless you are cr
5520: 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20  oss-compiling.  
5530: 54 68 69 73 20 43 20 63 6f 6d 70 69 6c 65 72 20  This C compiler 
5540: 62 75 69 6c 64 73 0a 23 20 20 20 20 74 68 65 20  builds.#    the 
5550: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 20  finished binary 
5560: 66 6f 72 20 66 6f 73 73 69 6c 2e 20 20 54 68 65  for fossil.  The
5570: 20 42 43 43 20 63 6f 6d 70 69 6c 65 72 20 61 62   BCC compiler ab
5580: 6f 76 65 20 69 73 20 75 73 65 64 0a 23 20 20 20  ove is used.#   
5590: 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 69 6e   for building in
55a0: 74 65 72 6d 65 64 69 61 74 65 20 63 6f 64 65 2d  termediate code-
55b0: 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c 73 2e  generator tools.
55c0: 0a 23 0a 54 43 43 20 3d 20 24 28 50 52 45 46 49  .#.TCC = $(PREFI
55d0: 58 29 24 28 54 43 43 45 58 45 29 20 2d 57 61 6c  X)$(TCCEXE) -Wal
55e0: 6c 20 2d 57 64 65 63 6c 61 72 61 74 69 6f 6e 2d  l -Wdeclaration-
55f0: 61 66 74 65 72 2d 73 74 61 74 65 6d 65 6e 74 0a  after-statement.
5600: 0a 23 23 23 23 20 41 64 64 20 74 68 65 20 6e 65  .#### Add the ne
5610: 63 65 73 73 61 72 79 20 63 6f 6d 6d 61 6e 64 20  cessary command 
5620: 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20  line options to 
5630: 62 75 69 6c 64 20 77 69 74 68 20 64 65 62 75 67  build with debug
5640: 67 69 6e 67 0a 23 20 20 20 20 73 79 6d 62 6f 6c  ging.#    symbol
5650: 73 2c 20 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23  s, if enabled..#
5660: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
5670: 41 42 4c 45 5f 53 59 4d 42 4f 4c 53 0a 54 43 43  ABLE_SYMBOLS.TCC
5680: 20 2b 3d 20 2d 67 0a 65 6c 73 65 0a 54 43 43 20   += -g.else.TCC 
5690: 2b 3d 20 2d 4f 73 0a 65 6e 64 69 66 0a 0a 23 23  += -Os.endif..##
56a0: 23 23 20 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e  ## When not usin
56b0: 67 20 74 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70  g the miniz comp
56c0: 72 65 73 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c  ression library,
56d0: 20 7a 6c 69 62 20 69 73 20 72 65 71 75 69 72 65   zlib is require
56e0: 64 2e 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53 53  d..#.ifndef FOSS
56f0: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a  IL_ENABLE_MINIZ.
5700: 54 43 43 20 2b 3d 20 2d 4c 24 28 5a 4c 49 42 44  TCC += -L$(ZLIBD
5710: 49 52 29 20 2d 49 24 28 5a 49 4e 43 44 49 52 29  IR) -I$(ZINCDIR)
5720: 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 43 6f 6d  .endif..#### Com
5730: 70 69 6c 65 20 72 65 73 6f 75 72 63 65 73 20 66  pile resources f
5740: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
5750: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
5760: 68 61 74 20 77 69 6c 6c 20 72 75 6e 0a 23 20 20  hat will run.#  
5770: 20 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20    on the target 
5780: 70 6c 61 74 66 6f 72 6d 2e 0a 23 0a 52 43 43 20  platform..#.RCC 
5790: 3d 20 24 28 50 52 45 46 49 58 29 77 69 6e 64 72  = $(PREFIX)windr
57a0: 65 73 20 2d 49 24 28 53 52 43 44 49 52 29 0a 0a  es -I$(SRCDIR)..
57b0: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
57c0: 41 42 4c 45 5f 4d 49 4e 49 5a 0a 52 43 43 20 2b  ABLE_MINIZ.RCC +
57d0: 3d 20 2d 49 24 28 5a 49 4e 43 44 49 52 29 0a 65  = -I$(ZINCDIR).e
57e0: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 48 54 54  ndif..# With HTT
57f0: 50 53 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66  PS support.ifdef
5800: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53   FOSSIL_ENABLE_S
5810: 53 4c 0a 54 43 43 20 2b 3d 20 2d 4c 24 28 4f 50  SL.TCC += -L$(OP
5820: 45 4e 53 53 4c 4c 49 42 44 49 52 29 20 2d 49 24  ENSSLLIBDIR) -I$
5830: 28 4f 50 45 4e 53 53 4c 49 4e 43 44 49 52 29 0a  (OPENSSLINCDIR).
5840: 52 43 43 20 2b 3d 20 2d 49 24 28 4f 50 45 4e 53  RCC += -I$(OPENS
5850: 53 4c 49 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a  SLINCDIR).endif.
5860: 0a 23 20 57 69 74 68 20 54 63 6c 20 73 75 70 70  .# With Tcl supp
5870: 6f 72 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c  ort.ifdef FOSSIL
5880: 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 69 66 64 65  _ENABLE_TCL.ifde
5890: 66 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55  f FOSSIL_TCL_SOU
58a0: 52 43 45 0a 54 43 43 20 2b 3d 20 2d 4c 24 28 54  RCE.TCC += -L$(T
58b0: 43 4c 53 52 43 44 49 52 29 2f 77 69 6e 20 2d 49  CLSRCDIR)/win -I
58c0: 24 28 54 43 4c 53 52 43 44 49 52 29 2f 67 65 6e  $(TCLSRCDIR)/gen
58d0: 65 72 69 63 20 2d 49 24 28 54 43 4c 53 52 43 44  eric -I$(TCLSRCD
58e0: 49 52 29 2f 77 69 6e 0a 52 43 43 20 2b 3d 20 2d  IR)/win.RCC += -
58f0: 49 24 28 54 43 4c 53 52 43 44 49 52 29 2f 67 65  I$(TCLSRCDIR)/ge
5900: 6e 65 72 69 63 20 2d 49 24 28 54 43 4c 53 52 43  neric -I$(TCLSRC
5910: 44 49 52 29 2f 77 69 6e 0a 65 6c 73 65 0a 54 43  DIR)/win.else.TC
5920: 43 20 2b 3d 20 2d 4c 24 28 54 43 4c 4c 49 42 44  C += -L$(TCLLIBD
5930: 49 52 29 20 2d 49 24 28 54 43 4c 49 4e 43 44 49  IR) -I$(TCLINCDI
5940: 52 29 0a 52 43 43 20 2b 3d 20 2d 49 24 28 54 43  R).RCC += -I$(TC
5950: 4c 49 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a 65  LINCDIR).endif.e
5960: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 6d 69 6e  ndif..# With min
5970: 69 7a 20 28 69 2e 65 2e 20 69 6e 73 74 65 61 64  iz (i.e. instead
5980: 20 6f 66 20 7a 6c 69 62 29 0a 69 66 64 65 66 20   of zlib).ifdef 
5990: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
59a0: 4e 49 5a 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53  NIZ.TCC += -DFOS
59b0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
59c0: 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53  =1.RCC += -DFOSS
59d0: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d  IL_ENABLE_MINIZ=
59e0: 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20  1.endif..# With 
59f0: 4d 69 6e 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69  MinGW command li
5a00: 6e 65 20 68 61 6e 64 6c 69 6e 67 20 77 6f 72 6b  ne handling work
5a10: 61 72 6f 75 6e 64 0a 69 66 64 65 66 20 4d 49 4e  around.ifdef MIN
5a20: 47 57 5f 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59  GW_IS_32BIT_ONLY
5a30: 0a 54 43 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e  .TCC += -DBROKEN
5a40: 5f 4d 49 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31  _MINGW_CMDLINE=1
5a50: 0a 52 43 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e  .RCC += -DBROKEN
5a60: 5f 4d 49 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31  _MINGW_CMDLINE=1
5a70: 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 48  .endif..# With H
5a80: 54 54 50 53 20 73 75 70 70 6f 72 74 0a 69 66 64  TTPS support.ifd
5a90: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ef FOSSIL_ENABLE
5aa0: 5f 53 53 4c 0a 54 43 43 20 2b 3d 20 2d 44 46 4f  _SSL.TCC += -DFO
5ab0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d  SSIL_ENABLE_SSL=
5ac0: 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  1.RCC += -DFOSSI
5ad0: 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 65  L_ENABLE_SSL=1.e
5ae0: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 72 65 6c  ndif..# With rel
5af0: 61 74 69 76 65 20 70 61 74 68 73 20 69 6e 20 65  ative paths in e
5b00: 78 74 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69  xternal diff/gdi
5b10: 66 66 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  ff.ifdef FOSSIL_
5b20: 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f  ENABLE_EXEC_REL_
5b30: 50 41 54 48 53 0a 54 43 43 20 2b 3d 20 2d 44 46  PATHS.TCC += -DF
5b40: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45  OSSIL_ENABLE_EXE
5b50: 43 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 52 43  C_REL_PATHS=1.RC
5b60: 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e  C += -DFOSSIL_EN
5b70: 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41  ABLE_EXEC_REL_PA
5b80: 54 48 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57  THS=1.endif..# W
5b90: 69 74 68 20 6c 65 67 61 63 79 20 74 72 65 61 74  ith legacy treat
5ba0: 6d 65 6e 74 20 6f 66 20 6d 76 2f 72 6d 0a 69 66  ment of mv/rm.if
5bb0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5bc0: 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 0a 54  E_LEGACY_MV_RM.T
5bd0: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45  CC += -DFOSSIL_E
5be0: 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f  NABLE_LEGACY_MV_
5bf0: 52 4d 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f  RM=1.RCC += -DFO
5c00: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41  SSIL_ENABLE_LEGA
5c10: 43 59 5f 4d 56 5f 52 4d 3d 31 0a 65 6e 64 69 66  CY_MV_RM=1.endif
5c20: 0a 0a 23 20 57 69 74 68 20 54 48 31 20 65 6d 62  ..# With TH1 emb
5c30: 65 64 64 65 64 20 64 6f 63 73 20 73 75 70 70 6f  edded docs suppo
5c40: 72 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  rt.ifdef FOSSIL_
5c50: 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 0a  ENABLE_TH1_DOCS.
5c60: 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  TCC += -DFOSSIL_
5c70: 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d  ENABLE_TH1_DOCS=
5c80: 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  1.RCC += -DFOSSI
5c90: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43  L_ENABLE_TH1_DOC
5ca0: 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74  S=1.endif..# Wit
5cb0: 68 20 54 48 31 20 68 6f 6f 6b 20 73 75 70 70 6f  h TH1 hook suppo
5cc0: 72 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  rt.ifdef FOSSIL_
5cd0: 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53  ENABLE_TH1_HOOKS
5ce0: 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .TCC += -DFOSSIL
5cf0: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b  _ENABLE_TH1_HOOK
5d00: 53 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53  S=1.RCC += -DFOS
5d10: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48  SIL_ENABLE_TH1_H
5d20: 4f 4f 4b 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20  OOKS=1.endif..# 
5d30: 57 69 74 68 20 54 63 6c 20 73 75 70 70 6f 72 74  With Tcl support
5d40: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
5d50: 41 42 4c 45 5f 54 43 4c 0a 54 43 43 20 2b 3d 20  ABLE_TCL.TCC += 
5d60: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5d70: 54 43 4c 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46  TCL=1.RCC += -DF
5d80: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
5d90: 3d 31 0a 23 20 45 69 74 68 65 72 20 73 74 61 74  =1.# Either stat
5da0: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 6f 72  ically linked or
5db0: 20 76 69 61 20 73 74 75 62 73 0a 69 66 64 65 66   via stubs.ifdef
5dc0: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54   FOSSIL_ENABLE_T
5dd0: 43 4c 5f 53 54 55 42 53 0a 54 43 43 20 2b 3d 20  CL_STUBS.TCC += 
5de0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5df0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 55 53  TCL_STUBS=1 -DUS
5e00: 45 5f 54 43 4c 5f 53 54 55 42 53 0a 52 43 43 20  E_TCL_STUBS.RCC 
5e10: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5e20: 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d  LE_TCL_STUBS=1 -
5e30: 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53 0a 69  DUSE_TCL_STUBS.i
5e40: 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  fdef FOSSIL_ENAB
5e50: 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53  LE_TCL_PRIVATE_S
5e60: 54 55 42 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f  TUBS.TCC += -DFO
5e70: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f  SSIL_ENABLE_TCL_
5e80: 50 52 49 56 41 54 45 5f 53 54 55 42 53 3d 31 0a  PRIVATE_STUBS=1.
5e90: 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  RCC += -DFOSSIL_
5ea0: 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41  ENABLE_TCL_PRIVA
5eb0: 54 45 5f 53 54 55 42 53 3d 31 0a 65 6e 64 69 66  TE_STUBS=1.endif
5ec0: 0a 65 6c 73 65 0a 54 43 43 20 2b 3d 20 2d 44 53  .else.TCC += -DS
5ed0: 54 41 54 49 43 5f 42 55 49 4c 44 0a 52 43 43 20  TATIC_BUILD.RCC 
5ee0: 2b 3d 20 2d 44 53 54 41 54 49 43 5f 42 55 49 4c  += -DSTATIC_BUIL
5ef0: 44 0a 65 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23  D.endif.endif..#
5f00: 20 57 69 74 68 20 4a 53 4f 4e 20 73 75 70 70 6f   With JSON suppo
5f10: 72 74 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  rt.ifdef FOSSIL_
5f20: 45 4e 41 42 4c 45 5f 4a 53 4f 4e 0a 54 43 43 20  ENABLE_JSON.TCC 
5f30: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5f40: 4c 45 5f 4a 53 4f 4e 3d 31 0a 52 43 43 20 2b 3d  LE_JSON=1.RCC +=
5f50: 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   -DFOSSIL_ENABLE
5f60: 5f 4a 53 4f 4e 3d 31 0a 65 6e 64 69 66 0a 0a 23  _JSON=1.endif..#
5f70: 20 57 69 74 68 20 53 51 4c 69 74 65 20 45 6e 63   With SQLite Enc
5f80: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f  ryption Extensio
5f90: 6e 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  n support.ifdef 
5fa0: 55 53 45 5f 53 45 45 0a 54 43 43 20 2b 3d 20 2d  USE_SEE.TCC += -
5fb0: 44 55 53 45 5f 53 45 45 3d 31 0a 52 43 43 20 2b  DUSE_SEE=1.RCC +
5fc0: 3d 20 2d 44 55 53 45 5f 53 45 45 3d 31 0a 65 6e  = -DUSE_SEE=1.en
5fd0: 64 69 66 0a 0a 23 23 23 23 20 54 68 65 20 6f 70  dif..#### The op
5fe0: 74 69 6f 6e 20 2d 73 74 61 74 69 63 20 68 61 73  tion -static has
5ff0: 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 4d 69   no effect on Mi
6000: 6e 47 57 28 2d 77 36 34 29 2c 20 6f 6e 6c 79 20  nGW(-w64), only 
6010: 64 79 6e 61 6d 69 63 0a 23 20 20 20 20 65 78 65  dynamic.#    exe
6020: 63 75 74 61 62 6c 65 73 20 63 61 6e 20 62 65 20  cutables can be 
6030: 62 75 69 6c 74 20 77 68 65 6e 20 6c 69 6e 6b 69  built when linki
6040: 6e 67 20 77 69 74 68 20 4d 53 56 43 52 54 2e 20  ng with MSVCRT. 
6050: 20 4f 70 65 6e 53 53 4c 0a 23 20 20 20 20 28 6f   OpenSSL.#    (o
6060: 70 74 69 6f 6e 61 6c 29 20 61 6e 64 20 7a 6c 69  ptional) and zli
6070: 62 20 28 72 65 71 75 69 72 65 64 29 20 68 6f 77  b (required) how
6080: 65 76 65 72 20 61 72 65 20 61 6c 77 61 79 73 20  ever are always 
6090: 6c 69 6e 6b 65 64 20 69 6e 0a 23 20 20 20 20 73  linked in.#    s
60a0: 74 61 74 69 63 61 6c 6c 79 2e 20 20 54 68 65 72  tatically.  Ther
60b0: 65 66 6f 72 65 2c 20 74 68 65 20 46 4f 53 53 49  efore, the FOSSI
60c0: 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 20  L_DYNAMIC_BUILD 
60d0: 6f 70 74 69 6f 6e 20 64 6f 65 73 0a 23 20 20 20  option does.#   
60e0: 20 6e 6f 74 20 72 65 61 6c 6c 79 20 61 70 70 6c   not really appl
60f0: 79 20 74 6f 20 4d 69 6e 47 57 20 28 69 2e 65 2e  y to MinGW (i.e.
6100: 20 73 69 6e 63 65 20 41 4c 4c 20 65 78 74 65 72   since ALL exter
6110: 6e 61 6c 20 6c 69 62 72 61 72 69 65 73 0a 23 20  nal libraries.# 
6120: 20 20 20 61 72 65 20 4e 4f 54 20 6c 69 6e 6b 65     are NOT linke
6130: 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 29 2e 0a  d dynamically)..
6140: 23 0a 23 20 4c 49 42 20 3d 20 2d 73 74 61 74 69  #.# LIB = -stati
6150: 63 0a 0a 23 23 23 23 20 4d 69 6e 47 57 3a 20 49  c..#### MinGW: I
6160: 66 20 61 76 61 69 6c 61 62 6c 65 2c 20 75 73 65  f available, use
6170: 20 74 68 65 20 55 6e 69 63 6f 64 65 20 63 61 70   the Unicode cap
6180: 61 62 6c 65 20 72 75 6e 74 69 6d 65 20 73 74 61  able runtime sta
6190: 72 74 75 70 20 63 6f 64 65 2e 0a 23 0a 69 66 6e  rtup code..#.ifn
61a0: 64 65 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42  def MINGW_IS_32B
61b0: 49 54 5f 4f 4e 4c 59 0a 4c 49 42 20 2b 3d 20 2d  IT_ONLY.LIB += -
61c0: 6d 75 6e 69 63 6f 64 65 0a 65 6e 64 69 66 0a 0a  municode.endif..
61d0: 23 23 23 23 20 53 51 4c 69 74 65 3a 20 49 66 20  #### SQLite: If 
61e0: 65 6e 61 62 6c 65 64 2c 20 75 73 65 20 74 68 65  enabled, use the
61f0: 20 73 79 73 74 65 6d 20 53 51 4c 69 74 65 20 6c   system SQLite l
6200: 69 62 72 61 72 79 2e 0a 23 0a 69 66 64 65 66 20  ibrary..#.ifdef 
6210: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
6220: 45 0a 4c 49 42 20 2b 3d 20 2d 6c 73 71 6c 69 74  E.LIB += -lsqlit
6230: 65 33 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 4f  e3.endif..#### O
6240: 70 65 6e 53 53 4c 3a 20 41 64 64 20 74 68 65 20  penSSL: Add the 
6250: 6e 65 63 65 73 73 61 72 79 20 6c 69 62 72 61 72  necessary librar
6260: 69 65 73 20 72 65 71 75 69 72 65 64 2c 20 69 66  ies required, if
6270: 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66 64 65   enabled..#.ifde
6280: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  f FOSSIL_ENABLE_
6290: 53 53 4c 0a 4c 49 42 20 2b 3d 20 2d 6c 73 73 6c  SSL.LIB += -lssl
62a0: 20 2d 6c 63 72 79 70 74 6f 20 2d 6c 67 64 69 33   -lcrypto -lgdi3
62b0: 32 20 2d 6c 63 72 79 70 74 33 32 0a 65 6e 64 69  2 -lcrypt32.endi
62c0: 66 0a 0a 23 23 23 23 20 54 63 6c 3a 20 41 64 64  f..#### Tcl: Add
62d0: 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6c   the necessary l
62e0: 69 62 72 61 72 69 65 73 20 72 65 71 75 69 72 65  ibraries require
62f0: 64 2c 20 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23  d, if enabled..#
6300: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
6310: 41 42 4c 45 5f 54 43 4c 0a 4c 49 42 20 2b 3d 20  ABLE_TCL.LIB += 
6320: 24 28 4c 49 42 54 43 4c 29 0a 65 6e 64 69 66 0a  $(LIBTCL).endif.
6330: 0a 23 23 23 23 20 45 78 74 72 61 20 61 72 67 75  .#### Extra argu
6340: 6d 65 6e 74 73 20 66 6f 72 20 6c 69 6e 6b 69 6e  ments for linkin
6350: 67 20 74 68 65 20 66 69 6e 69 73 68 65 64 20 62  g the finished b
6360: 69 6e 61 72 79 2e 20 20 46 6f 73 73 69 6c 20 6e  inary.  Fossil n
6370: 65 65 64 73 0a 23 20 20 20 20 74 6f 20 6c 69 6e  eeds.#    to lin
6380: 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20 5a 2d  k against the Z-
6390: 4c 69 62 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20  Lib compression 
63a0: 6c 69 62 72 61 72 79 2e 20 20 54 68 65 72 65 20  library.  There 
63b0: 61 72 65 20 6e 6f 0a 23 20 20 20 20 6f 74 68 65  are no.#    othe
63c0: 72 20 6d 61 6e 64 61 74 6f 72 79 20 64 65 70 65  r mandatory depe
63d0: 6e 64 65 6e 63 69 65 73 2e 0a 23 0a 4c 49 42 20  ndencies..#.LIB 
63e0: 2b 3d 20 2d 6c 6d 69 6e 67 77 65 78 0a 0a 23 23  += -lmingwex..##
63f0: 23 23 20 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e  ## When not usin
6400: 67 20 74 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70  g the miniz comp
6410: 72 65 73 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c  ression library,
6420: 20 7a 6c 69 62 20 69 73 20 72 65 71 75 69 72 65   zlib is require
6430: 64 2e 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53 53  d..#.ifndef FOSS
6440: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a  IL_ENABLE_MINIZ.
6450: 4c 49 42 20 2b 3d 20 2d 6c 7a 0a 65 6e 64 69 66  LIB += -lz.endif
6460: 0a 0a 23 23 23 23 20 54 68 65 73 65 20 6c 69 62  ..#### These lib
6470: 72 61 72 69 65 73 20 4d 55 53 54 20 61 70 70 65  raries MUST appe
6480: 61 72 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f  ar in the same o
6490: 72 64 65 72 20 61 73 20 74 68 65 79 20 64 6f 20  rder as they do 
64a0: 66 6f 72 20 54 63 6c 0a 23 20 20 20 20 6f 72 20  for Tcl.#    or 
64b0: 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 69 74 20  linking with it 
64c0: 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 28 65  will not work (e
64d0: 78 61 63 74 20 72 65 61 73 6f 6e 20 75 6e 6b 6e  xact reason unkn
64e0: 6f 77 6e 29 2e 0a 23 0a 69 66 64 65 66 20 46 4f  own)..#.ifdef FO
64f0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a  SSIL_ENABLE_TCL.
6500: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
6510: 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 0a 4c 49  BLE_TCL_STUBS.LI
6520: 42 20 2b 3d 20 2d 6c 6b 65 72 6e 65 6c 33 32 20  B += -lkernel32 
6530: 2d 6c 77 73 32 5f 33 32 0a 65 6c 73 65 0a 4c 49  -lws2_32.else.LI
6540: 42 20 2b 3d 20 2d 6c 6e 65 74 61 70 69 33 32 20  B += -lnetapi32 
6550: 2d 6c 6b 65 72 6e 65 6c 33 32 20 2d 6c 75 73 65  -lkernel32 -luse
6560: 72 33 32 20 2d 6c 61 64 76 61 70 69 33 32 20 2d  r32 -ladvapi32 -
6570: 6c 77 73 32 5f 33 32 0a 65 6e 64 69 66 0a 65 6c  lws2_32.endif.el
6580: 73 65 0a 4c 49 42 20 2b 3d 20 2d 6c 6b 65 72 6e  se.LIB += -lkern
6590: 65 6c 33 32 20 2d 6c 77 73 32 5f 33 32 0a 65 6e  el32 -lws2_32.en
65a0: 64 69 66 0a 0a 23 23 23 23 20 54 63 6c 20 73 68  dif..#### Tcl sh
65b0: 65 6c 6c 20 66 6f 72 20 75 73 65 20 69 6e 20 72  ell for use in r
65c0: 75 6e 6e 69 6e 67 20 74 68 65 20 66 6f 73 73 69  unning the fossi
65d0: 6c 20 74 65 73 74 20 73 75 69 74 65 2e 20 20 54  l test suite.  T
65e0: 68 69 73 20 69 73 20 6f 6e 6c 79 0a 23 20 20 20  his is only.#   
65f0: 20 75 73 65 64 20 66 6f 72 20 74 65 73 74 69 6e   used for testin
6600: 67 2e 0a 23 0a 54 43 4c 53 48 20 3d 20 74 63 6c  g..#.TCLSH = tcl
6610: 73 68 0a 0a 23 23 23 23 20 4e 75 6c 6c 73 6f 66  sh..#### Nullsof
6620: 74 20 69 6e 73 74 61 6c 6c 65 72 20 4d 61 6b 65  t installer Make
6630: 4e 53 49 53 20 6c 6f 63 61 74 69 6f 6e 0a 23 0a  NSIS location.#.
6640: 4d 41 4b 45 4e 53 49 53 20 3d 20 22 24 28 50 52  MAKENSIS = "$(PR
6650: 4f 47 52 41 4d 46 49 4c 45 53 29 5c 4e 53 49 53  OGRAMFILES)\NSIS
6660: 5c 4d 61 6b 65 4e 53 49 53 2e 65 78 65 22 0a 0a  \MakeNSIS.exe"..
6670: 23 23 23 23 20 49 6e 6e 6f 20 53 65 74 75 70 20  #### Inno Setup 
6680: 65 78 65 63 75 74 61 62 6c 65 20 6c 6f 63 61 74  executable locat
6690: 69 6f 6e 0a 23 0a 49 4e 4e 4f 53 45 54 55 50 20  ion.#.INNOSETUP 
66a0: 3d 20 22 24 28 50 52 4f 47 52 41 4d 46 49 4c 45  = "$(PROGRAMFILE
66b0: 53 29 5c 49 6e 6e 6f 20 53 65 74 75 70 20 35 5c  S)\Inno Setup 5\
66c0: 49 53 43 43 2e 65 78 65 22 0a 0a 23 23 23 23 20  ISCC.exe"..#### 
66d0: 49 6e 63 6c 75 64 65 20 61 20 63 6f 6e 66 69 67  Include a config
66e0: 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 74 68 61  uration file tha
66f0: 74 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 61  t can override a
6700: 6e 79 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20  ny one of these 
6710: 73 65 74 74 69 6e 67 73 2e 0a 23 0a 2d 69 6e 63  settings..#.-inc
6720: 6c 75 64 65 20 63 6f 6e 66 69 67 2e 77 33 32 0a  lude config.w32.
6730: 0a 23 20 53 54 4f 50 20 48 45 52 45 0a 23 20 59  .# STOP HERE.# Y
6740: 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65  ou should not ne
6750: 65 64 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79  ed to change any
6760: 74 68 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73  thing below this
6770: 20 6c 69 6e 65 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d   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 0a  ---------------.
67b0: 58 42 43 43 20 3d 20 24 28 42 43 43 29 20 24 28  XBCC = $(BCC) $(
67c0: 43 46 4c 41 47 53 29 0a 58 54 43 43 20 3d 20 24  CFLAGS).XTCC = $
67d0: 28 54 43 43 29 20 24 28 43 46 4c 41 47 53 29 20  (TCC) $(CFLAGS) 
67e0: 2d 49 2e 20 2d 49 24 28 53 52 43 44 49 52 29 0a  -I. -I$(SRCDIR).
67f0: 7d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  }.writeln -nonew
6800: 6c 69 6e 65 20 22 53 52 43 20 3d 22 0a 66 6f 72  line "SRC =".for
6810: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
6820: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
6830: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c  -nonewline " \\\
6840: 6e 20 20 5c 24 28 53 52 43 44 49 52 29 2f 24 73  n  \$(SRCDIR)/$s
6850: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .c".}.writeln "\
6860: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
6870: 77 6c 69 6e 65 20 22 45 58 54 52 41 5f 46 49 4c  wline "EXTRA_FIL
6880: 45 53 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20  ES =".foreach s 
6890: 5b 6c 73 6f 72 74 20 24 65 78 74 72 61 5f 66 69  [lsort $extra_fi
68a0: 6c 65 73 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  les] {.  writeln
68b0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
68c0: 5c 6e 20 20 5c 24 28 53 52 43 44 49 52 29 2f 24  \n  \$(SRCDIR)/$
68d0: 73 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e  s".}.writeln "\n
68e0: 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  ".writeln -nonew
68f0: 6c 69 6e 65 20 22 54 52 41 4e 53 5f 53 52 43 20  line "TRANS_SRC 
6900: 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73  =".foreach s [ls
6910: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72  ort $src] {.  wr
6920: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
6930: 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 4f 42 4a 44   " \\\n  \$(OBJD
6940: 49 52 29 2f 24 7b 73 7d 5f 2e 63 22 0a 7d 0a 77  IR)/${s}_.c".}.w
6950: 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74  riteln "\n".writ
6960: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
6970: 4f 42 4a 20 3d 22 0a 66 6f 72 65 61 63 68 20 73  OBJ =".foreach s
6980: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
6990: 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77    writeln -nonew
69a0: 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 5c 24 28 4f  line " \\\n \$(O
69b0: 42 4a 44 49 52 29 2f 24 73 2e 6f 22 0a 7d 0a 77  BJDIR)/$s.o".}.w
69c0: 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74  riteln "\n".writ
69d0: 65 6c 6e 20 22 41 50 50 4e 41 4d 45 20 20 20 20  eln "APPNAME    
69e0: 3d 20 24 7b 6e 61 6d 65 7d 2e 65 78 65 22 0a 77  = ${name}.exe".w
69f0: 72 69 74 65 6c 6e 20 22 41 50 50 54 41 52 47 45  riteln "APPTARGE
6a00: 54 53 20 3d 22 0a 77 72 69 74 65 6c 6e 20 7b 0a  TS =".writeln {.
6a10: 23 23 23 23 20 49 66 20 74 68 65 20 55 53 45 5f  #### If the USE_
6a20: 57 49 4e 44 4f 57 53 20 76 61 72 69 61 62 6c 65  WINDOWS variable
6a30: 20 65 78 69 73 74 73 2c 20 69 74 20 69 73 20 61   exists, it is a
6a40: 73 73 75 6d 65 64 20 74 68 61 74 20 77 65 20 61  ssumed that we a
6a50: 72 65 20 62 75 69 6c 64 69 6e 67 0a 23 20 20 20  re building.#   
6a60: 20 69 6e 73 69 64 65 20 6f 66 20 61 20 57 69 6e   inside of a Win
6a70: 64 6f 77 73 2d 73 74 79 6c 65 20 73 68 65 6c 6c  dows-style shell
6a80: 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20  ; otherwise, it 
6a90: 69 73 20 61 73 73 75 6d 65 64 20 74 68 61 74 20  is assumed that 
6aa0: 77 65 20 61 72 65 0a 23 20 20 20 20 62 75 69 6c  we are.#    buil
6ab0: 64 69 6e 67 20 69 6e 73 69 64 65 20 6f 66 20 61  ding inside of a
6ac0: 20 55 6e 69 78 2d 73 74 79 6c 65 20 73 68 65 6c   Unix-style shel
6ad0: 6c 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68  l.  Note that th
6ae0: 65 20 22 6d 6f 76 65 22 20 63 6f 6d 6d 61 6e 64  e "move" command
6af0: 20 69 73 0a 23 20 20 20 20 62 72 6f 6b 65 6e 20   is.#    broken 
6b00: 77 68 65 6e 20 61 74 74 65 6d 70 74 69 6e 67 20  when attempting 
6b10: 74 6f 20 75 73 65 20 69 74 20 66 72 6f 6d 20 74  to use it from t
6b20: 68 65 20 57 69 6e 64 6f 77 73 20 73 68 65 6c 6c  he Windows shell
6b30: 20 76 69 61 20 4d 69 6e 47 57 20 6d 61 6b 65 0a   via MinGW make.
6b40: 23 20 20 20 20 62 65 63 61 75 73 65 20 74 68 65  #    because the
6b50: 20 53 48 45 4c 4c 20 76 61 72 69 61 62 6c 65 20   SHELL variable 
6b60: 69 73 20 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72  is only used for
6b70: 20 63 65 72 74 61 69 6e 20 63 6f 6d 6d 61 6e 64   certain command
6b80: 73 20 74 68 61 74 20 61 72 65 0a 23 20 20 20 20  s that are.#    
6b90: 72 65 63 6f 67 6e 69 7a 65 64 20 69 6e 74 65 72  recognized inter
6ba0: 6e 61 6c 6c 79 20 62 79 20 6d 61 6b 65 2e 0a 23  nally by make..#
6bb0: 0a 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f  .ifdef USE_WINDO
6bc0: 57 53 0a 54 52 41 4e 53 4c 41 54 45 20 20 20 3d  WS.TRANSLATE   =
6bd0: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f   $(subst /,\,$(O
6be0: 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65  BJDIR)/translate
6bf0: 2e 65 78 65 29 0a 4d 41 4b 45 48 45 41 44 45 52  .exe).MAKEHEADER
6c00: 53 20 3d 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c  S = $(subst /,\,
6c10: 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65  $(OBJDIR)/makehe
6c20: 61 64 65 72 73 2e 65 78 65 29 0a 4d 4b 49 4e 44  aders.exe).MKIND
6c30: 45 58 20 20 20 20 20 3d 20 24 28 73 75 62 73 74  EX     = $(subst
6c40: 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d   /,\,$(OBJDIR)/m
6c50: 6b 69 6e 64 65 78 2e 65 78 65 29 0a 4d 4b 42 55  kindex.exe).MKBU
6c60: 49 4c 54 49 4e 20 20 20 3d 20 24 28 73 75 62 73  ILTIN   = $(subs
6c70: 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f  t /,\,$(OBJDIR)/
6c80: 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65 29 0a 4d  mkbuiltin.exe).M
6c90: 4b 56 45 52 53 49 4f 4e 20 20 20 3d 20 24 28 73  KVERSION   = $(s
6ca0: 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49  ubst /,\,$(OBJDI
6cb0: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 65 78 65  R)/mkversion.exe
6cc0: 29 0a 4d 4b 43 53 53 20 20 20 20 20 20 20 3d 20  ).MKCSS       = 
6cd0: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42  $(subst /,\,$(OB
6ce0: 4a 44 49 52 29 2f 6d 6b 63 73 73 2e 65 78 65 29  JDIR)/mkcss.exe)
6cf0: 0a 43 4f 44 45 43 48 45 43 4b 31 20 20 3d 20 24  .CODECHECK1  = $
6d00: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a  (subst /,\,$(OBJ
6d10: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e  DIR)/codecheck1.
6d20: 65 78 65 29 0a 43 41 54 20 20 20 20 20 20 20 20  exe).CAT        
6d30: 20 3d 20 74 79 70 65 0a 43 50 20 20 20 20 20 20   = type.CP      
6d40: 20 20 20 20 3d 20 63 6f 70 79 0a 47 52 45 50 20      = copy.GREP 
6d50: 20 20 20 20 20 20 20 3d 20 66 69 6e 64 0a 4d 56         = find.MV
6d60: 20 20 20 20 20 20 20 20 20 20 3d 20 63 6f 70 79            = copy
6d70: 0a 52 4d 20 20 20 20 20 20 20 20 20 20 3d 20 64  .RM          = d
6d80: 65 6c 20 2f 51 0a 4d 4b 44 49 52 20 20 20 20 20  el /Q.MKDIR     
6d90: 20 20 3d 20 2d 6d 6b 64 69 72 0a 52 4d 44 49 52    = -mkdir.RMDIR
6da0: 20 20 20 20 20 20 20 3d 20 72 6d 64 69 72 20 2f         = rmdir /
6db0: 53 20 2f 51 0a 65 6c 73 65 0a 54 52 41 4e 53 4c  S /Q.else.TRANSL
6dc0: 41 54 45 20 20 20 3d 20 24 28 4f 42 4a 44 49 52  ATE   = $(OBJDIR
6dd0: 29 2f 74 72 61 6e 73 6c 61 74 65 2e 65 78 65 0a  )/translate.exe.
6de0: 4d 41 4b 45 48 45 41 44 45 52 53 20 3d 20 24 28  MAKEHEADERS = $(
6df0: 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64  OBJDIR)/makehead
6e00: 65 72 73 2e 65 78 65 0a 4d 4b 49 4e 44 45 58 20  ers.exe.MKINDEX 
6e10: 20 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f      = $(OBJDIR)/
6e20: 6d 6b 69 6e 64 65 78 2e 65 78 65 0a 4d 4b 42 55  mkindex.exe.MKBU
6e30: 49 4c 54 49 4e 20 20 20 3d 20 24 28 4f 42 4a 44  ILTIN   = $(OBJD
6e40: 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 2e 65 78  IR)/mkbuiltin.ex
6e50: 65 0a 4d 4b 56 45 52 53 49 4f 4e 20 20 20 3d 20  e.MKVERSION   = 
6e60: 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73  $(OBJDIR)/mkvers
6e70: 69 6f 6e 2e 65 78 65 0a 4d 4b 43 53 53 20 20 20  ion.exe.MKCSS   
6e80: 20 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f      = $(OBJDIR)/
6e90: 6d 6b 63 73 73 2e 65 78 65 0a 43 4f 44 45 43 48  mkcss.exe.CODECH
6ea0: 45 43 4b 31 20 20 3d 20 24 28 4f 42 4a 44 49 52  ECK1  = $(OBJDIR
6eb0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 65 78 65  )/codecheck1.exe
6ec0: 0a 43 41 54 20 20 20 20 20 20 20 20 20 3d 20 63  .CAT         = c
6ed0: 61 74 0a 43 50 20 20 20 20 20 20 20 20 20 20 3d  at.CP          =
6ee0: 20 63 70 0a 47 52 45 50 20 20 20 20 20 20 20 20   cp.GREP        
6ef0: 3d 20 67 72 65 70 0a 4d 56 20 20 20 20 20 20 20  = grep.MV       
6f00: 20 20 20 3d 20 6d 76 0a 52 4d 20 20 20 20 20 20     = mv.RM      
6f10: 20 20 20 20 3d 20 72 6d 20 2d 66 0a 4d 4b 44 49      = rm -f.MKDI
6f20: 52 20 20 20 20 20 20 20 3d 20 2d 6d 6b 64 69 72  R       = -mkdir
6f30: 20 2d 70 0a 52 4d 44 49 52 20 20 20 20 20 20 20   -p.RMDIR       
6f40: 3d 20 72 6d 20 2d 72 66 0a 65 6e 64 69 66 7d 0a  = rm -rf.endif}.
6f50: 0a 77 72 69 74 65 6c 6e 20 7b 0a 61 6c 6c 3a 09  .writeln {.all:.
6f60: 24 28 4f 42 4a 44 49 52 29 20 24 28 41 50 50 4e  $(OBJDIR) $(APPN
6f70: 41 4d 45 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f  AME)..$(OBJDIR)/
6f80: 66 6f 73 73 69 6c 2e 6f 3a 09 24 28 53 52 43 44  fossil.o:.$(SRCD
6f90: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69  IR)/../win/fossi
6fa0: 6c 2e 72 63 20 24 28 4f 42 4a 44 49 52 29 2f 56  l.rc $(OBJDIR)/V
6fb0: 45 52 53 49 4f 4e 2e 68 20 24 28 4f 42 4a 44 49  ERSION.h $(OBJDI
6fc0: 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68  R)/default_css.h
6fd0: 0a 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f  .ifdef USE_WINDO
6fe0: 57 53 0a 09 24 28 43 41 54 29 20 24 28 73 75 62  WS..$(CAT) $(sub
6ff0: 73 74 20 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29  st /,\,$(SRCDIR)
7000: 5c 6d 69 6e 69 7a 2e 63 29 20 7c 20 24 28 47 52  \miniz.c) | $(GR
7010: 45 50 29 20 22 64 65 66 69 6e 65 20 4d 5a 5f 56  EP) "define MZ_V
7020: 45 52 53 49 4f 4e 22 20 3e 20 24 28 73 75 62 73  ERSION" > $(subs
7030: 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 5c  t /,\,$(OBJDIR)\
7040: 6d 69 6e 69 7a 76 65 72 2e 68 29 0a 09 24 28 43  minizver.h)..$(C
7050: 50 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24  P) $(subst /,\,$
7060: 28 53 52 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c  (SRCDIR)\..\win\
7070: 66 6f 73 73 69 6c 2e 72 63 29 20 24 28 73 75 62  fossil.rc) $(sub
7080: 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29  st /,\,$(OBJDIR)
7090: 29 0a 09 24 28 43 50 29 20 24 28 73 75 62 73 74  )..$(CP) $(subst
70a0: 20 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c 2e   /,\,$(SRCDIR)\.
70b0: 2e 5c 77 69 6e 5c 66 6f 73 73 69 6c 2e 69 63 6f  .\win\fossil.ico
70c0: 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28  ) $(subst /,\,$(
70d0: 4f 42 4a 44 49 52 29 29 0a 09 24 28 43 50 29 20  OBJDIR))..$(CP) 
70e0: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52  $(subst /,\,$(SR
70f0: 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73  CDIR)\..\win\fos
7100: 73 69 6c 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74  sil.exe.manifest
7110: 29 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28  ) $(subst /,\,$(
7120: 4f 42 4a 44 49 52 29 29 0a 65 6c 73 65 0a 09 24  OBJDIR)).else..$
7130: 28 43 41 54 29 20 24 28 53 52 43 44 49 52 29 2f  (CAT) $(SRCDIR)/
7140: 6d 69 6e 69 7a 2e 63 20 7c 20 24 28 47 52 45 50  miniz.c | $(GREP
7150: 29 20 22 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52  ) "define MZ_VER
7160: 53 49 4f 4e 22 20 3e 20 24 28 4f 42 4a 44 49 52  SION" > $(OBJDIR
7170: 29 2f 6d 69 6e 69 7a 76 65 72 2e 68 0a 09 24 28  )/minizver.h..$(
7180: 43 50 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e  CP) $(SRCDIR)/..
7190: 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 72 63 20 24  /win/fossil.rc $
71a0: 28 4f 42 4a 44 49 52 29 0a 09 24 28 43 50 29 20  (OBJDIR)..$(CP) 
71b0: 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e  $(SRCDIR)/../win
71c0: 2f 66 6f 73 73 69 6c 2e 69 63 6f 20 24 28 4f 42  /fossil.ico $(OB
71d0: 4a 44 49 52 29 0a 09 24 28 43 50 29 20 24 28 53  JDIR)..$(CP) $(S
71e0: 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f  RCDIR)/../win/fo
71f0: 73 73 69 6c 2e 65 78 65 2e 6d 61 6e 69 66 65 73  ssil.exe.manifes
7200: 74 20 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69  t $(OBJDIR).endi
7210: 66 0a 09 24 28 52 43 43 29 20 24 28 4f 42 4a 44  f..$(RCC) $(OBJD
7220: 49 52 29 2f 66 6f 73 73 69 6c 2e 72 63 20 2d 6f  IR)/fossil.rc -o
7230: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69   $(OBJDIR)/fossi
7240: 6c 2e 6f 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28  l.o..install:.$(
7250: 4f 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d  OBJDIR) $(APPNAM
7260: 45 29 0a 69 66 64 65 66 20 55 53 45 5f 57 49 4e  E).ifdef USE_WIN
7270: 44 4f 57 53 0a 09 24 28 4d 4b 44 49 52 29 20 24  DOWS..$(MKDIR) $
7280: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 49 4e 53  (subst /,\,$(INS
7290: 54 41 4c 4c 44 49 52 29 29 0a 09 24 28 4d 56 29  TALLDIR))..$(MV)
72a0: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 41   $(subst /,\,$(A
72b0: 50 50 4e 41 4d 45 29 29 20 24 28 73 75 62 73 74  PPNAME)) $(subst
72c0: 20 2f 2c 5c 2c 24 28 49 4e 53 54 41 4c 4c 44 49   /,\,$(INSTALLDI
72d0: 52 29 29 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49  R)).else..$(MKDI
72e0: 52 29 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29  R) $(INSTALLDIR)
72f0: 0a 09 24 28 4d 56 29 20 24 28 41 50 50 4e 41 4d  ..$(MV) $(APPNAM
7300: 45 29 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29  E) $(INSTALLDIR)
7310: 0a 65 6e 64 69 66 0a 0a 24 28 4f 42 4a 44 49 52  .endif..$(OBJDIR
7320: 29 3a 0a 69 66 64 65 66 20 55 53 45 5f 57 49 4e  ):.ifdef USE_WIN
7330: 44 4f 57 53 0a 09 24 28 4d 4b 44 49 52 29 20 24  DOWS..$(MKDIR) $
7340: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a  (subst /,\,$(OBJ
7350: 44 49 52 29 29 0a 65 6c 73 65 0a 09 24 28 4d 4b  DIR)).else..$(MK
7360: 44 49 52 29 20 24 28 4f 42 4a 44 49 52 29 0a 65  DIR) $(OBJDIR).e
7370: 6e 64 69 66 0a 0a 24 28 54 52 41 4e 53 4c 41 54  ndif..$(TRANSLAT
7380: 45 29 3a 09 24 28 53 52 43 44 49 52 29 2f 74 72  E):.$(SRCDIR)/tr
7390: 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 58 42 43  anslate.c..$(XBC
73a0: 43 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49  C) -o $@ $(SRCDI
73b0: 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a  R)/translate.c..
73c0: 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 3a 09  $(MAKEHEADERS):.
73d0: 24 28 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65  $(SRCDIR)/makehe
73e0: 61 64 65 72 73 2e 63 0a 09 24 28 58 42 43 43 29  aders.c..$(XBCC)
73f0: 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29   -o $@ $(SRCDIR)
7400: 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 0a  /makeheaders.c..
7410: 24 28 4d 4b 49 4e 44 45 58 29 3a 09 24 28 53 52  $(MKINDEX):.$(SR
7420: 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a  CDIR)/mkindex.c.
7430: 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24  .$(XBCC) -o $@ $
7440: 28 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78  (SRCDIR)/mkindex
7450: 2e 63 0a 0a 24 28 4d 4b 42 55 49 4c 54 49 4e 29  .c..$(MKBUILTIN)
7460: 3a 09 24 28 53 52 43 44 49 52 29 2f 6d 6b 62 75  :.$(SRCDIR)/mkbu
7470: 69 6c 74 69 6e 2e 63 0a 09 24 28 58 42 43 43 29  iltin.c..$(XBCC)
7480: 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29   -o $@ $(SRCDIR)
7490: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 0a 24 28  /mkbuiltin.c..$(
74a0: 4d 4b 56 45 52 53 49 4f 4e 29 3a 20 24 28 53 52  MKVERSION): $(SR
74b0: 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e  CDIR)/mkversion.
74c0: 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40  c..$(XBCC) -o $@
74d0: 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 76 65 72   $(SRCDIR)/mkver
74e0: 73 69 6f 6e 2e 63 0a 0a 24 28 4d 4b 43 53 53 29  sion.c..$(MKCSS)
74f0: 3a 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 63 73  : $(SRCDIR)/mkcs
7500: 73 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f 20  s.c..$(XBCC) -o 
7510: 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 63  $@ $(SRCDIR)/mkc
7520: 73 73 2e 63 0a 0a 24 28 43 4f 44 45 43 48 45 43  ss.c..$(CODECHEC
7530: 4b 31 29 3a 09 24 28 53 52 43 44 49 52 29 2f 63  K1):.$(SRCDIR)/c
7540: 6f 64 65 63 68 65 63 6b 31 2e 63 0a 09 24 28 58  odecheck1.c..$(X
7550: 42 43 43 29 20 2d 6f 20 24 40 20 24 28 53 52 43  BCC) -o $@ $(SRC
7560: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e  DIR)/codecheck1.
7570: 63 0a 0a 23 20 57 41 52 4e 49 4e 47 2e 20 44 41  c..# WARNING. DA
7580: 4e 47 45 52 2e 20 52 75 6e 6e 69 6e 67 20 74 68  NGER. Running th
7590: 65 20 74 65 73 74 20 73 75 69 74 65 20 6d 6f 64  e test suite mod
75a0: 69 66 69 65 73 20 74 68 65 20 72 65 70 6f 73 69  ifies the reposi
75b0: 74 6f 72 79 20 74 68 65 0a 23 20 62 75 69 6c 64  tory the.# build
75c0: 20 69 73 20 64 6f 6e 65 20 66 72 6f 6d 2c 20 69   is done from, i
75d0: 2e 65 2e 20 74 68 65 20 63 68 65 63 6b 6f 75 74  .e. the checkout
75e0: 20 62 65 6c 6f 6e 67 73 20 74 6f 2e 20 44 6f 20   belongs to. Do 
75f0: 6e 6f 74 20 73 79 6e 63 2f 70 75 73 68 0a 23 20  not sync/push.# 
7600: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61  the repository a
7610: 66 74 65 72 20 72 75 6e 6e 69 6e 67 20 74 68 65  fter running the
7620: 20 74 65 73 74 73 2e 0a 74 65 73 74 3a 09 24 28   tests..test:.$(
7630: 4f 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d  OBJDIR) $(APPNAM
7640: 45 29 0a 09 24 28 54 43 4c 53 48 29 20 24 28 53  E)..$(TCLSH) $(S
7650: 52 43 44 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74  RCDIR)/../test/t
7660: 65 73 74 65 72 2e 74 63 6c 20 24 28 41 50 50 4e  ester.tcl $(APPN
7670: 41 4d 45 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f  AME)..$(OBJDIR)/
7680: 56 45 52 53 49 4f 4e 2e 68 3a 09 24 28 53 52 43  VERSION.h:.$(SRC
7690: 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74  DIR)/../manifest
76a0: 2e 75 75 69 64 20 24 28 53 52 43 44 49 52 29 2f  .uuid $(SRCDIR)/
76b0: 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 24 28 4d 4b  ../manifest $(MK
76c0: 56 45 52 53 49 4f 4e 29 0a 09 24 28 4d 4b 56 45  VERSION)..$(MKVE
76d0: 52 53 49 4f 4e 29 20 24 28 53 52 43 44 49 52 29  RSION) $(SRCDIR)
76e0: 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69  /../manifest.uui
76f0: 64 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d  d $(SRCDIR)/../m
7700: 61 6e 69 66 65 73 74 20 24 28 53 52 43 44 49 52  anifest $(SRCDIR
7710: 29 2f 2e 2e 2f 56 45 52 53 49 4f 4e 20 3e 24 40  )/../VERSION >$@
7720: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 64 65 66 61  ..$(OBJDIR)/defa
7730: 75 6c 74 5f 63 73 73 2e 68 3a 09 24 28 53 52 43  ult_css.h:.$(SRC
7740: 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73  DIR)/default_css
7750: 2e 74 78 74 20 24 28 4d 4b 43 53 53 29 0a 09 24  .txt $(MKCSS)..$
7760: 28 4d 4b 43 53 53 29 20 24 28 53 52 43 44 49 52  (MKCSS) $(SRCDIR
7770: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )/default_css.tx
7780: 74 20 24 40 0a 0a 23 20 54 68 65 20 55 53 45 5f  t $@..# The USE_
7790: 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 76 61  SYSTEM_SQLITE va
77a0: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e  riable may be un
77b0: 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20  defined, set to 
77c0: 30 2c 20 6f 72 20 73 65 74 0a 23 20 74 6f 20 31  0, or set.# to 1
77d0: 2e 20 49 66 20 69 74 20 69 73 20 73 65 74 20 74  . If it is set t
77e0: 6f 20 31 2c 20 74 68 65 6e 20 74 68 65 72 65 20  o 1, then there 
77f0: 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 62 75  is no need to bu
7800: 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 68  ild or link.# th
7810: 65 20 73 71 6c 69 74 65 33 2e 6f 20 6f 62 6a 65  e sqlite3.o obje
7820: 63 74 2e 20 49 6e 73 74 65 61 64 2c 20 74 68 65  ct. Instead, the
7830: 20 73 79 73 74 65 6d 20 53 51 4c 69 74 65 20 77   system SQLite w
7840: 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 0a 23 20  ill be linked.# 
7850: 75 73 69 6e 67 20 2d 6c 73 71 6c 69 74 65 33 2e  using -lsqlite3.
7860: 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 30 20 3d  .SQLITE3_OBJ.0 =
7870: 20 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74   $(OBJDIR)/sqlit
7880: 65 33 2e 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 4a  e3.o.SQLITE3_OBJ
7890: 2e 31 20 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 4a  .1 =.SQLITE3_OBJ
78a0: 2e 20 20 3d 20 24 28 53 51 4c 49 54 45 33 5f 4f  .  = $(SQLITE3_O
78b0: 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20 46 4f 53  BJ.0)..# The FOS
78c0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
78d0: 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65   variable may be
78e0: 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 65 74 20   undefined, set 
78f0: 74 6f 20 30 2c 20 6f 72 0a 23 20 73 65 74 20 74  to 0, or.# set t
7900: 6f 20 31 2e 20 20 49 66 20 69 74 20 69 73 20 73  o 1.  If it is s
7910: 65 74 20 74 6f 20 31 2c 20 74 68 65 20 6d 69 6e  et to 1, the min
7920: 69 7a 20 6c 69 62 72 61 72 79 20 69 6e 63 6c 75  iz library inclu
7930: 64 65 64 20 69 6e 20 74 68 65 0a 23 20 73 6f 75  ded in the.# sou
7940: 72 63 65 20 74 72 65 65 20 73 68 6f 75 6c 64 20  rce tree should 
7950: 62 65 20 75 73 65 64 3b 20 6f 74 68 65 72 77 69  be used; otherwi
7960: 73 65 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f  se, it should no
7970: 74 2e 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20 3d  t..MINIZ_OBJ.0 =
7980: 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20 24  .MINIZ_OBJ.1 = $
7990: 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f  (OBJDIR)/miniz.o
79a0: 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 24  .MINIZ_OBJ.  = $
79b0: 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a 23  (MINIZ_OBJ.0)..#
79c0: 20 54 68 65 20 55 53 45 5f 53 45 45 20 76 61 72   The USE_SEE var
79d0: 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e 64  iable may be und
79e0: 65 66 69 6e 65 64 2c 20 30 20 6f 72 20 31 2e 20  efined, 0 or 1. 
79f0: 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 6f 72   If undefined or
7a00: 0a 23 20 30 2c 20 6f 72 64 69 6e 61 72 79 20 53  .# 0, ordinary S
7a10: 51 4c 69 74 65 20 69 73 20 75 73 65 64 2e 20 20  QLite is used.  
7a20: 49 66 20 31 2c 20 74 68 65 6e 20 73 71 6c 69 74  If 1, then sqlit
7a30: 65 33 2d 73 65 65 2e 63 20 28 6e 6f 74 20 70 61  e3-see.c (not pa
7a40: 72 74 20 6f 66 0a 23 20 74 68 65 20 73 6f 75 72  rt of.# the sour
7a50: 63 65 20 74 72 65 65 29 20 69 73 20 75 73 65 64  ce tree) is used
7a60: 20 61 6e 64 20 65 78 74 72 61 20 66 6c 61 67 73   and extra flags
7a70: 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 74 6f   are provided to
7a80: 20 65 6e 61 62 6c 65 0a 23 20 74 68 65 20 53 51   enable.# the SQ
7a90: 4c 69 74 65 20 45 6e 63 72 79 70 74 69 6f 6e 20  Lite Encryption 
7aa0: 45 78 74 65 6e 73 69 6f 6e 2e 0a 53 51 4c 49 54  Extension..SQLIT
7ab0: 45 33 5f 53 52 43 2e 30 20 3d 20 73 71 6c 69 74  E3_SRC.0 = sqlit
7ac0: 65 33 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43  e3.c.SQLITE3_SRC
7ad0: 2e 31 20 3d 20 73 71 6c 69 74 65 33 2d 73 65 65  .1 = sqlite3-see
7ae0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 20  .c.SQLITE3_SRC. 
7af0: 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49  = sqlite3.c.SQLI
7b00: 54 45 33 5f 53 52 43 20 3d 20 24 28 53 52 43 44  TE3_SRC = $(SRCD
7b10: 49 52 29 2f 24 28 53 51 4c 49 54 45 33 5f 53 52  IR)/$(SQLITE3_SR
7b20: 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a 53 51  C.$(USE_SEE)).SQ
7b30: 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e  LITE3_SHELL_SRC.
7b40: 30 20 3d 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49  0 = shell.c.SQLI
7b50: 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 31 20  TE3_SHELL_SRC.1 
7b60: 3d 20 73 68 65 6c 6c 2d 73 65 65 2e 63 0a 53 51  = shell-see.c.SQ
7b70: 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e  LITE3_SHELL_SRC.
7b80: 20 3d 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54   = shell.c.SQLIT
7b90: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24  E3_SHELL_SRC = $
7ba0: 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c 49 54  (SRCDIR)/$(SQLIT
7bb0: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 24 28 55  E3_SHELL_SRC.$(U
7bc0: 53 45 5f 53 45 45 29 29 0a 53 45 45 5f 46 4c 41  SE_SEE)).SEE_FLA
7bd0: 47 53 2e 30 20 3d 0a 53 45 45 5f 46 4c 41 47 53  GS.0 =.SEE_FLAGS
7be0: 2e 31 20 3d 20 2d 44 53 51 4c 49 54 45 5f 48 41  .1 = -DSQLITE_HA
7bf0: 53 5f 43 4f 44 45 43 20 2d 44 53 51 4c 49 54 45  S_CODEC -DSQLITE
7c00: 5f 53 48 45 4c 4c 5f 44 42 4b 45 59 5f 50 52 4f  _SHELL_DBKEY_PRO
7c10: 43 3d 66 6f 73 73 69 6c 5f 6b 65 79 0a 53 45 45  C=fossil_key.SEE
7c20: 5f 46 4c 41 47 53 2e 20 3d 0a 53 45 45 5f 46 4c  _FLAGS. =.SEE_FL
7c30: 41 47 53 20 3d 20 24 28 53 45 45 5f 46 4c 41 47  AGS = $(SEE_FLAG
7c40: 53 2e 24 28 55 53 45 5f 53 45 45 29 29 0a 7d 0a  S.$(USE_SEE)).}.
7c50: 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67  .writeln [string
7c60: 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e 45   map [list <<<NE
7c70: 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b  XT_LINE>>> \\] {
7c80: 0a 45 58 54 52 41 4f 42 4a 20 3d 20 3c 3c 3c 4e  .EXTRAOBJ = <<<N
7c90: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 53  EXT_LINE>>>. $(S
7ca0: 51 4c 49 54 45 33 5f 4f 42 4a 2e 24 28 55 53 45  QLITE3_OBJ.$(USE
7cb0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 29 29  _SYSTEM_SQLITE))
7cc0: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e   <<<NEXT_LINE>>>
7cd0: 0a 20 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 24 28  . $(MINIZ_OBJ.$(
7ce0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
7cf0: 4e 49 5a 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49  NIZ)) <<<NEXT_LI
7d00: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29  NE>>>. $(OBJDIR)
7d10: 2f 73 68 65 6c 6c 2e 6f 20 3c 3c 3c 4e 45 58 54  /shell.o <<<NEXT
7d20: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44  _LINE>>>. $(OBJD
7d30: 49 52 29 2f 74 68 2e 6f 20 3c 3c 3c 4e 45 58 54  IR)/th.o <<<NEXT
7d40: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44  _LINE>>>. $(OBJD
7d50: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 20 3c 3c  IR)/th_lang.o <<
7d60: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24  <NEXT_LINE>>>. $
7d70: 28 4f 42 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e  (OBJDIR)/th_tcl.
7d80: 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e  o <<<NEXT_LINE>>
7d90: 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f  >. $(OBJDIR)/cso
7da0: 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f  n_amalgamation.o
7db0: 0a 7d 5d 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24  .}]..writeln {.$
7dc0: 28 5a 4c 49 42 44 49 52 29 2f 69 6e 66 66 61 73  (ZLIBDIR)/inffas
7dd0: 38 36 2e 6f 3a 0a 09 24 28 54 43 43 29 20 2d 63  86.o:..$(TCC) -c
7de0: 20 2d 6f 20 24 40 20 2d 44 41 53 4d 49 4e 46 20   -o $@ -DASMINF 
7df0: 2d 49 24 28 5a 4c 49 42 44 49 52 29 20 2d 4f 33  -I$(ZLIBDIR) -O3
7e00: 20 24 28 5a 4c 49 42 44 49 52 29 2f 63 6f 6e 74   $(ZLIBDIR)/cont
7e10: 72 69 62 2f 69 6e 66 6c 61 74 65 38 36 2f 69 6e  rib/inflate86/in
7e20: 66 66 61 73 38 36 2e 63 0a 0a 24 28 5a 4c 49 42  ffas86.c..$(ZLIB
7e30: 44 49 52 29 2f 6d 61 74 63 68 2e 6f 3a 0a 09 24  DIR)/match.o:..$
7e40: 28 54 43 43 29 20 2d 63 20 2d 6f 20 24 40 20 2d  (TCC) -c -o $@ -
7e50: 44 41 53 4d 56 20 24 28 5a 4c 49 42 44 49 52 29  DASMV $(ZLIBDIR)
7e60: 2f 63 6f 6e 74 72 69 62 2f 61 73 6d 36 38 36 2f  /contrib/asm686/
7e70: 6d 61 74 63 68 2e 53 0a 0a 7a 6c 69 62 3a 09 24  match.S..zlib:.$
7e80: 28 5a 4c 49 42 54 41 52 47 45 54 53 29 0a 09 24  (ZLIBTARGETS)..$
7e90: 28 4d 41 4b 45 29 20 2d 43 20 24 28 5a 4c 49 42  (MAKE) -C $(ZLIB
7ea0: 44 49 52 29 20 50 52 45 46 49 58 3d 24 28 50 52  DIR) PREFIX=$(PR
7eb0: 45 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49  EFIX) CC=$(PREFI
7ec0: 58 29 24 28 54 43 43 45 58 45 29 20 24 28 5a 4c  X)$(TCCEXE) $(ZL
7ed0: 49 42 43 4f 4e 46 49 47 29 20 2d 66 20 77 69 6e  IBCONFIG) -f win
7ee0: 33 32 2f 4d 61 6b 65 66 69 6c 65 2e 67 63 63 20  32/Makefile.gcc 
7ef0: 6c 69 62 7a 2e 61 0a 0a 63 6c 65 61 6e 2d 7a 6c  libz.a..clean-zl
7f00: 69 62 3a 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20  ib:..$(MAKE) -C 
7f10: 24 28 5a 4c 49 42 44 49 52 29 20 50 52 45 46 49  $(ZLIBDIR) PREFI
7f20: 58 3d 24 28 50 52 45 46 49 58 29 20 43 43 3d 24  X=$(PREFIX) CC=$
7f30: 28 50 52 45 46 49 58 29 24 28 54 43 43 45 58 45  (PREFIX)$(TCCEXE
7f40: 29 20 2d 66 20 77 69 6e 33 32 2f 4d 61 6b 65 66  ) -f win32/Makef
7f50: 69 6c 65 2e 67 63 63 20 63 6c 65 61 6e 0a 0a 69  ile.gcc clean..i
7f60: 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  fdef FOSSIL_ENAB
7f70: 4c 45 5f 4d 49 4e 49 5a 0a 42 4c 44 54 41 52 47  LE_MINIZ.BLDTARG
7f80: 45 54 53 20 3d 0a 65 6c 73 65 0a 42 4c 44 54 41  ETS =.else.BLDTA
7f90: 52 47 45 54 53 20 3d 20 7a 6c 69 62 0a 65 6e 64  RGETS = zlib.end
7fa0: 69 66 0a 0a 6f 70 65 6e 73 73 6c 3a 09 24 28 42  if..openssl:.$(B
7fb0: 4c 44 54 41 52 47 45 54 53 29 0a 09 63 64 20 24  LDTARGETS)..cd $
7fc0: 28 4f 50 45 4e 53 53 4c 4c 49 42 44 49 52 29 3b  (OPENSSLLIBDIR);
7fd0: 2e 2f 43 6f 6e 66 69 67 75 72 65 20 2d 2d 63 72  ./Configure --cr
7fe0: 6f 73 73 2d 63 6f 6d 70 69 6c 65 2d 70 72 65 66  oss-compile-pref
7ff0: 69 78 3d 24 28 50 52 45 46 49 58 29 20 24 28 53  ix=$(PREFIX) $(S
8000: 53 4c 43 4f 4e 46 49 47 29 0a 09 24 28 4d 41 4b  SLCONFIG)..$(MAK
8010: 45 29 20 2d 43 20 24 28 4f 50 45 4e 53 53 4c 4c  E) -C $(OPENSSLL
8020: 49 42 44 49 52 29 20 50 52 45 46 49 58 3d 24 28  IBDIR) PREFIX=$(
8030: 50 52 45 46 49 58 29 20 43 43 3d 24 28 50 52 45  PREFIX) CC=$(PRE
8040: 46 49 58 29 24 28 54 43 43 45 58 45 29 20 62 75  FIX)$(TCCEXE) bu
8050: 69 6c 64 5f 6c 69 62 73 0a 0a 63 6c 65 61 6e 2d  ild_libs..clean-
8060: 6f 70 65 6e 73 73 6c 3a 0a 09 24 28 4d 41 4b 45  openssl:..$(MAKE
8070: 29 20 2d 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49  ) -C $(OPENSSLLI
8080: 42 44 49 52 29 20 50 52 45 46 49 58 3d 24 28 50  BDIR) PREFIX=$(P
8090: 52 45 46 49 58 29 20 43 43 3d 24 28 50 52 45 46  REFIX) CC=$(PREF
80a0: 49 58 29 24 28 54 43 43 45 58 45 29 20 63 6c 65  IX)$(TCCEXE) cle
80b0: 61 6e 0a 0a 74 63 6c 3a 0a 09 63 64 20 24 28 54  an..tcl:..cd $(T
80c0: 43 4c 53 52 43 44 49 52 29 2f 77 69 6e 3b 2e 2f  CLSRCDIR)/win;./
80d0: 63 6f 6e 66 69 67 75 72 65 0a 09 24 28 4d 41 4b  configure..$(MAK
80e0: 45 29 20 2d 43 20 24 28 54 43 4c 53 52 43 44 49  E) -C $(TCLSRCDI
80f0: 52 29 2f 77 69 6e 20 50 52 45 46 49 58 3d 24 28  R)/win PREFIX=$(
8100: 50 52 45 46 49 58 29 20 43 43 3d 24 28 50 52 45  PREFIX) CC=$(PRE
8110: 46 49 58 29 24 28 54 43 43 45 58 45 29 20 24 28  FIX)$(TCCEXE) $(
8120: 54 43 4c 54 41 52 47 45 54 29 0a 0a 63 6c 65 61  TCLTARGET)..clea
8130: 6e 2d 74 63 6c 3a 0a 09 24 28 4d 41 4b 45 29 20  n-tcl:..$(MAKE) 
8140: 2d 43 20 24 28 54 43 4c 53 52 43 44 49 52 29 2f  -C $(TCLSRCDIR)/
8150: 77 69 6e 20 50 52 45 46 49 58 3d 24 28 50 52 45  win PREFIX=$(PRE
8160: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58  FIX) CC=$(PREFIX
8170: 29 24 28 54 43 43 45 58 45 29 20 64 69 73 74 63  )$(TCCEXE) distc
8180: 6c 65 61 6e 0a 0a 41 50 50 54 41 52 47 45 54 53  lean..APPTARGETS
8190: 20 2b 3d 20 24 28 42 4c 44 54 41 52 47 45 54 53   += $(BLDTARGETS
81a0: 29 0a 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f  )..ifdef FOSSIL_
81b0: 42 55 49 4c 44 5f 53 53 4c 0a 41 50 50 54 41 52  BUILD_SSL.APPTAR
81c0: 47 45 54 53 20 2b 3d 20 6f 70 65 6e 73 73 6c 0a  GETS += openssl.
81d0: 65 6e 64 69 66 0a 0a 24 28 41 50 50 4e 41 4d 45  endif..$(APPNAME
81e0: 29 3a 09 24 28 41 50 50 54 41 52 47 45 54 53 29  ):.$(APPTARGETS)
81f0: 20 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65   $(OBJDIR)/heade
8200: 72 73 20 24 28 43 4f 44 45 43 48 45 43 4b 31 29  rs $(CODECHECK1)
8210: 20 24 28 4f 42 4a 29 20 24 28 45 58 54 52 41 4f   $(OBJ) $(EXTRAO
8220: 42 4a 29 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f  BJ) $(OBJDIR)/fo
8230: 73 73 69 6c 2e 6f 0a 09 24 28 43 4f 44 45 43 48  ssil.o..$(CODECH
8240: 45 43 4b 31 29 20 24 28 54 52 41 4e 53 5f 53 52  ECK1) $(TRANS_SR
8250: 43 29 0a 09 24 28 54 43 43 29 20 2d 6f 20 24 40  C)..$(TCC) -o $@
8260: 20 24 28 4f 42 4a 29 20 24 28 45 58 54 52 41 4f   $(OBJ) $(EXTRAO
8270: 42 4a 29 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f  BJ) $(OBJDIR)/fo
8280: 73 73 69 6c 2e 6f 20 24 28 4c 49 42 29 0a 0a 23  ssil.o $(LIB)..#
8290: 20 54 68 69 73 20 72 75 6c 65 20 70 72 65 76 65   This rule preve
82a0: 6e 74 73 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73  nts make from us
82b0: 69 6e 67 20 69 74 73 20 64 65 66 61 75 6c 74 20  ing its default 
82c0: 72 75 6c 65 73 20 74 6f 20 74 72 79 20 62 75 69  rules to try bui
82d0: 6c 64 0a 23 20 61 6e 20 65 78 65 63 75 74 61 62  ld.# an executab
82e0: 6c 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65  le named "manife
82f0: 73 74 22 20 6f 75 74 20 6f 66 20 74 68 65 20 66  st" out of the f
8300: 69 6c 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66  ile named "manif
8310: 65 73 74 2e 63 22 0a 23 0a 24 28 53 52 43 44 49  est.c".#.$(SRCDI
8320: 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 0a  R)/../manifest:.
8330: 09 23 20 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 0a  .# noop..clean:.
8340: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57  ifdef USE_WINDOW
8350: 53 0a 09 24 28 52 4d 29 20 24 28 73 75 62 73 74  S..$(RM) $(subst
8360: 20 2f 2c 5c 2c 24 28 41 50 50 4e 41 4d 45 29 29   /,\,$(APPNAME))
8370: 0a 09 24 28 52 4d 44 49 52 29 20 24 28 73 75 62  ..$(RMDIR) $(sub
8380: 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29  st /,\,$(OBJDIR)
8390: 29 0a 65 6c 73 65 0a 09 24 28 52 4d 29 20 24 28  ).else..$(RM) $(
83a0: 41 50 50 4e 41 4d 45 29 0a 09 24 28 52 4d 44 49  APPNAME)..$(RMDI
83b0: 52 29 20 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64  R) $(OBJDIR).end
83c0: 69 66 0a 0a 73 65 74 75 70 3a 20 24 28 4f 42 4a  if..setup: $(OBJ
83d0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME).
83e0: 09 24 28 4d 41 4b 45 4e 53 49 53 29 20 2e 2f 73  .$(MAKENSIS) ./s
83f0: 65 74 75 70 2f 66 6f 73 73 69 6c 2e 6e 73 69 0a  etup/fossil.nsi.
8400: 0a 69 6e 6e 6f 73 65 74 75 70 3a 20 24 28 4f 42  .innosetup: $(OB
8410: 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29  JDIR) $(APPNAME)
8420: 0a 09 24 28 49 4e 4e 4f 53 45 54 55 50 29 20 2e  ..$(INNOSETUP) .
8430: 2f 73 65 74 75 70 2f 66 6f 73 73 69 6c 2e 69 73  /setup/fossil.is
8440: 73 20 2d 44 41 70 70 56 65 72 73 69 6f 6e 3d 24  s -DAppVersion=$
8450: 28 73 68 65 6c 6c 20 24 28 43 41 54 29 20 2e 2f  (shell $(CAT) ./
8460: 56 45 52 53 49 4f 4e 29 0a 7d 0a 0a 73 65 74 20  VERSION).}..set 
8470: 6d 68 61 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63  mhargs {}.foreac
8480: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
8490: 20 7b 0a 20 20 69 66 20 7b 5b 73 74 72 69 6e 67   {.  if {[string
84a0: 20 6c 65 6e 67 74 68 20 24 6d 68 61 72 67 73 5d   length $mhargs]
84b0: 20 3e 20 30 7d 20 7b 61 70 70 65 6e 64 20 6d 68   > 0} {append mh
84c0: 61 72 67 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 22  args " \\\n\t\t"
84d0: 7d 0a 20 20 61 70 70 65 6e 64 20 6d 68 61 72 67  }.  append mharg
84e0: 73 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b  s "\$(OBJDIR)/${
84f0: 73 7d 5f 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29  s}_.c:\$(OBJDIR)
8500: 2f 24 73 2e 68 22 0a 20 20 73 65 74 20 65 78 74  /$s.h".  set ext
8510: 72 61 5f 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61  ra_h($s) { }.}.a
8520: 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c  ppend mhargs " \
8530: 5c 5c 6e 5c 74 5c 74 5c 24 28 53 52 43 44 49 52  \\n\t\t\$(SRCDIR
8540: 29 2f 73 71 6c 69 74 65 33 2e 68 22 0a 61 70 70  )/sqlite3.h".app
8550: 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c  end mhargs " \\\
8560: 6e 5c 74 5c 74 5c 24 28 53 52 43 44 49 52 29 2f  n\t\t\$(SRCDIR)/
8570: 74 68 2e 68 22 0a 61 70 70 65 6e 64 20 6d 68 61  th.h".append mha
8580: 72 67 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24  rgs " \\\n\t\t\$
8590: 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e  (OBJDIR)/VERSION
85a0: 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  .h".writeln "\$(
85b0: 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e 64  OBJDIR)/page_ind
85c0: 65 78 2e 68 3a 20 5c 24 28 54 52 41 4e 53 5f 53  ex.h: \$(TRANS_S
85d0: 52 43 29 20 5c 24 28 4d 4b 49 4e 44 45 58 29 22  RC) \$(MKINDEX)"
85e0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d  .writeln "\t\$(M
85f0: 4b 49 4e 44 45 58 29 20 5c 24 28 54 52 41 4e 53  KINDEX) \$(TRANS
8600: 5f 53 52 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77  _SRC) >\$@\n"..w
8610: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
8620: 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e  R)/builtin_data.
8630: 68 3a 5c 74 5c 24 28 4d 4b 42 55 49 4c 54 49 4e  h:\t\$(MKBUILTIN
8640: 29 20 5c 24 28 45 58 54 52 41 5f 46 49 4c 45 53  ) \$(EXTRA_FILES
8650: 29 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  )".writeln "\t\$
8660: 28 4d 4b 42 55 49 4c 54 49 4e 29 20 2d 2d 70 72  (MKBUILTIN) --pr
8670: 65 66 69 78 20 5c 24 28 53 52 43 44 49 52 29 2f  efix \$(SRCDIR)/
8680: 20 5c 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29   \$(EXTRA_FILES)
8690: 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c   >\$@\n"..writel
86a0: 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65  n "\$(OBJDIR)/he
86b0: 61 64 65 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49  aders:\t\$(OBJDI
86c0: 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 20  R)/page_index.h 
86d0: 5c 24 28 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74  \$(OBJDIR)/built
86e0: 69 6e 5f 64 61 74 61 2e 68 20 5c 24 28 4f 42 4a  in_data.h \$(OBJ
86f0: 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73 73  DIR)/default_css
8700: 2e 68 20 5c 24 28 4d 41 4b 45 48 45 41 44 45 52  .h \$(MAKEHEADER
8710: 53 29 20 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45  S) \$(OBJDIR)/VE
8720: 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e  RSION.h".writeln
8730: 20 22 5c 74 5c 24 28 4d 41 4b 45 48 45 41 44 45   "\t\$(MAKEHEADE
8740: 52 53 29 20 24 6d 68 61 72 67 73 22 0a 77 72 69  RS) $mhargs".wri
8750: 74 65 6c 6e 20 22 5c 74 65 63 68 6f 20 44 6f 6e  teln "\techo Don
8760: 65 20 3e 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65  e >\$(OBJDIR)/he
8770: 61 64 65 72 73 5c 6e 22 0a 77 72 69 74 65 6c 6e  aders\n".writeln
8780: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61   "\$(OBJDIR)/hea
8790: 64 65 72 73 3a 20 4d 61 6b 65 66 69 6c 65 5c 6e  ders: Makefile\n
87a0: 22 0a 77 72 69 74 65 6c 6e 20 22 4d 61 6b 65 66  ".writeln "Makef
87b0: 69 6c 65 3a 5c 6e 22 0a 73 65 74 20 65 78 74 72  ile:\n".set extr
87c0: 61 5f 68 28 6d 61 69 6e 29 20 22 20 5c 24 28 4f  a_h(main) " \$(O
87d0: 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65  BJDIR)/page_inde
87e0: 78 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f  x.h ".set extra_
87f0: 68 28 62 75 69 6c 74 69 6e 29 20 22 20 5c 24 28  h(builtin) " \$(
8800: 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f  OBJDIR)/builtin_
8810: 64 61 74 61 2e 68 20 22 0a 73 65 74 20 65 78 74  data.h ".set ext
8820: 72 61 5f 68 28 73 74 79 6c 65 29 20 22 20 5c 24  ra_h(style) " \$
8830: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74  (OBJDIR)/default
8840: 5f 63 73 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63  _css.h "..foreac
8850: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
8860: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24   {.  writeln "\$
8870: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63  (OBJDIR)/${s}_.c
8880: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 24 73  :\t\$(SRCDIR)/$s
8890: 2e 63 20 5c 24 28 54 52 41 4e 53 4c 41 54 45 29  .c \$(TRANSLATE)
88a0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c  ".  writeln "\t\
88b0: 24 28 54 52 41 4e 53 4c 41 54 45 29 20 5c 24 28  $(TRANSLATE) \$(
88c0: 53 52 43 44 49 52 29 2f 24 73 2e 63 20 3e 5c 24  SRCDIR)/$s.c >\$
88d0: 40 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  @\n".  writeln "
88e0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 3a  \$(OBJDIR)/$s.o:
88f0: 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73  \t\$(OBJDIR)/${s
8900: 7d 5f 2e 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f  }_.c \$(OBJDIR)/
8910: 24 73 2e 68 24 65 78 74 72 61 5f 68 28 24 73 29  $s.h$extra_h($s)
8920: 5c 24 28 53 52 43 44 49 52 29 2f 63 6f 6e 66 69  \$(SRCDIR)/confi
8930: 67 2e 68 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  g.h".  writeln "
8940: 5c 74 5c 24 28 58 54 43 43 29 20 2d 6f 20 5c 24  \t\$(XTCC) -o \$
8950: 28 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 20 2d 63  (OBJDIR)/$s.o -c
8960: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d   \$(OBJDIR)/${s}
8970: 5f 2e 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e  _.c\n".  writeln
8980: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73   "\$(OBJDIR)/${s
8990: 7d 2e 68 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29  }.h:\t\$(OBJDIR)
89a0: 2f 68 65 61 64 65 72 73 5c 6e 22 0a 7d 0a 0a 77  /headers\n".}..w
89b0: 72 69 74 65 6c 6e 20 7b 4d 49 4e 47 57 5f 4f 50  riteln {MINGW_OP
89c0: 54 49 4f 4e 53 20 3d 20 2d 44 5f 48 41 56 45 5f  TIONS = -D_HAVE_
89d0: 5f 4d 49 4e 47 57 5f 48 0a 7d 0a 0a 73 65 74 20  _MINGW_H.}..set 
89e0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54  SQLITE_WIN32_OPT
89f0: 49 4f 4e 53 20 24 53 51 4c 49 54 45 5f 4f 50 54  IONS $SQLITE_OPT
8a00: 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 53 51 4c  IONS.lappend SQL
8a10: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  ITE_WIN32_OPTION
8a20: 53 20 2d 44 53 51 4c 49 54 45 5f 57 49 4e 33 32  S -DSQLITE_WIN32
8a30: 5f 4e 4f 5f 41 4e 53 49 0a 0a 73 65 74 20 4d 49  _NO_ANSI..set MI
8a40: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f  NGW_SQLITE_OPTIO
8a50: 4e 53 20 24 53 51 4c 49 54 45 5f 57 49 4e 33 32  NS $SQLITE_WIN32
8a60: 5f 4f 50 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64  _OPTIONS.lappend
8a70: 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50   MINGW_SQLITE_OP
8a80: 54 49 4f 4e 53 20 7b 24 28 4d 49 4e 47 57 5f 4f  TIONS {$(MINGW_O
8a90: 50 54 49 4f 4e 53 29 7d 0a 6c 61 70 70 65 6e 64  PTIONS)}.lappend
8aa0: 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50   MINGW_SQLITE_OP
8ab0: 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55  TIONS -DSQLITE_U
8ac0: 53 45 5f 4d 41 4c 4c 4f 43 5f 48 0a 6c 61 70 70  SE_MALLOC_H.lapp
8ad0: 65 6e 64 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45  end MINGW_SQLITE
8ae0: 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54  _OPTIONS -DSQLIT
8af0: 45 5f 55 53 45 5f 4d 53 49 5a 45 0a 0a 73 65 74  E_USE_MSIZE..set
8b00: 20 4d 49 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54   MINIZ_WIN32_OPT
8b10: 49 4f 4e 53 20 24 4d 49 4e 49 5a 5f 4f 50 54 49  IONS $MINIZ_OPTI
8b20: 4f 4e 53 0a 0a 73 65 74 20 6a 20 22 20 5c 5c 5c  ONS..set j " \\\
8b30: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
8b40: 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c    ".writeln "SQL
8b50: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a  ITE_OPTIONS = [j
8b60: 6f 69 6e 20 24 4d 49 4e 47 57 5f 53 51 4c 49 54  oin $MINGW_SQLIT
8b70: 45 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22  E_OPTIONS $j]\n"
8b80: 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20  .set j " \\\n   
8b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 0a 77               ".w
8ba0: 72 69 74 65 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50  riteln "SHELL_OP
8bb0: 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53  TIONS = [join $S
8bc0: 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f  HELL_WIN32_OPTIO
8bd0: 4e 53 20 24 6a 5d 5c 6e 22 0a 73 65 74 20 6a 20  NS $j]\n".set j 
8be0: 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20  " \\\n          
8bf0: 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20        ".writeln 
8c00: 22 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 3d  "MINIZ_OPTIONS =
8c10: 20 5b 6a 6f 69 6e 20 24 4d 49 4e 49 5a 5f 57 49   [join $MINIZ_WI
8c20: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c  N32_OPTIONS $j]\
8c30: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  n"..writeln "\$(
8c40: 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  OBJDIR)/sqlite3.
8c50: 6f 3a 5c 74 5c 24 28 53 51 4c 49 54 45 33 5f 53  o:\t\$(SQLITE3_S
8c60: 52 43 29 20 5c 24 28 53 52 43 44 49 52 29 2f 2e  RC) \$(SRCDIR)/.
8c70: 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d  ./win/Makefile.m
8c80: 69 6e 67 77 22 0a 77 72 69 74 65 6c 6e 20 22 5c  ingw".writeln "\
8c90: 74 5c 24 28 58 54 43 43 29 20 5c 24 28 53 51 4c  t\$(XTCC) \$(SQL
8ca0: 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28  ITE_OPTIONS) \$(
8cb0: 53 51 4c 49 54 45 5f 43 46 4c 41 47 53 29 20 5c  SQLITE_CFLAGS) \
8cc0: 24 28 53 45 45 5f 46 4c 41 47 53 29 20 5c 5c 22  $(SEE_FLAGS) \\"
8cd0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 74 2d 63  .writeln "\t\t-c
8ce0: 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 52 43 29   \$(SQLITE3_SRC)
8cf0: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ
8d00: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
8d10: 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f  cson_amalgamatio
8d20: 6e 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29  n.o:\t\$(SRCDIR)
8d30: 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69  /cson_amalgamati
8d40: 6f 6e 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c  on.c".writeln "\
8d50: 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28  t\$(XTCC) -c \$(
8d60: 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61  SRCDIR)/cson_ama
8d70: 6c 67 61 6d 61 74 69 6f 6e 2e 63 20 2d 6f 20 5c  lgamation.c -o \
8d80: 24 40 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c  $@\n".writeln "\
8d90: 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f  $(OBJDIR)/json.o
8da0: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e   \$(OBJDIR)/json
8db0: 5f 61 72 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f  _artifact.o \$(O
8dc0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e  BJDIR)/json_bran
8dd0: 63 68 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ch.o \$(OBJDIR)/
8de0: 6a 73 6f 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24  json_config.o \$
8df0: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69  (OBJDIR)/json_di
8e00: 66 66 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ff.o \$(OBJDIR)/
8e10: 6a 73 6f 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42  json_dir.o \$(OB
8e20: 4a 44 49 52 29 2f 6a 73 6f 73 5f 66 69 6e 66 6f  JDIR)/jsos_finfo
8e30: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
8e40: 6f 6e 5f 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42  on_login.o \$(OB
8e50: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79  JDIR)/json_query
8e60: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js
8e70: 6f 6e 5f 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f  on_report.o \$(O
8e80: 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74  BJDIR)/json_stat
8e90: 75 73 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  us.o \$(OBJDIR)/
8ea0: 6a 73 6f 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42  json_tag.o \$(OB
8eb0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c  JDIR)/json_timel
8ec0: 69 6e 65 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29  ine.o \$(OBJDIR)
8ed0: 2f 6a 73 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28  /json_user.o \$(
8ee0: 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b  OBJDIR)/json_wik
8ef0: 69 2e 6f 20 3a 20 5c 24 28 53 52 43 44 49 52 29  i.o : \$(SRCDIR)
8f00: 2f 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 5c 6e  /json_detail.h\n
8f10: 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f  "..writeln "\$(O
8f20: 42 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a 5c  BJDIR)/shell.o:\
8f30: 74 5c 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c  t\$(SQLITE3_SHEL
8f40: 4c 5f 53 52 43 29 20 5c 24 28 53 52 43 44 49 52  L_SRC) \$(SRCDIR
8f50: 29 2f 73 71 6c 69 74 65 33 2e 68 20 5c 24 28 53  )/sqlite3.h \$(S
8f60: 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 4d 61  RCDIR)/../win/Ma
8f70: 6b 65 66 69 6c 65 2e 6d 69 6e 67 77 22 0a 77 72  kefile.mingw".wr
8f80: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43  iteln "\t\$(XTCC
8f90: 29 20 5c 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f  ) \$(SHELL_OPTIO
8fa0: 4e 53 29 20 5c 24 28 53 48 45 4c 4c 5f 43 46 4c  NS) \$(SHELL_CFL
8fb0: 41 47 53 29 20 5c 24 28 53 45 45 5f 46 4c 41 47  AGS) \$(SEE_FLAG
8fc0: 53 29 20 2d 63 20 5c 24 28 53 51 4c 49 54 45 33  S) -c \$(SQLITE3
8fd0: 5f 53 48 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c  _SHELL_SRC) -o \
8fe0: 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22  $@\n"..writeln "
8ff0: 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 3a  \$(OBJDIR)/th.o:
9000: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e  \t\$(SRCDIR)/th.
9010: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  c".writeln "\t\$
9020: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43  (XTCC) -c \$(SRC
9030: 44 49 52 29 2f 74 68 2e 63 20 2d 6f 20 5c 24 40  DIR)/th.c -o \$@
9040: 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24  \n"..writeln "\$
9050: 28 4f 42 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67  (OBJDIR)/th_lang
9060: 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f  .o:\t\$(SRCDIR)/
9070: 74 68 5f 6c 61 6e 67 2e 63 22 0a 77 72 69 74 65  th_lang.c".write
9080: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 2d  ln "\t\$(XTCC) -
9090: 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f  c \$(SRCDIR)/th_
90a0: 6c 61 6e 67 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22  lang.c -o \$@\n"
90b0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  ..writeln "\$(OB
90c0: 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 3a 5c  JDIR)/th_tcl.o:\
90d0: 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f 74  t\$(SRCDIR)/th_t
90e0: 63 6c 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c  cl.c".writeln "\
90f0: 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28  t\$(XTCC) -c \$(
9100: 53 52 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e 63  SRCDIR)/th_tcl.c
9110: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ
9120: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/
9130: 6d 69 6e 69 7a 2e 6f 3a 5c 74 5c 24 28 53 52 43  miniz.o:\t\$(SRC
9140: 44 49 52 29 2f 6d 69 6e 69 7a 2e 63 22 0a 77 72  DIR)/miniz.c".wr
9150: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43  iteln "\t\$(XTCC
9160: 29 20 5c 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f  ) \$(MINIZ_OPTIO
9170: 4e 53 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52  NS) -c \$(SRCDIR
9180: 29 2f 6d 69 6e 69 7a 2e 63 20 2d 6f 20 5c 24 40  )/miniz.c -o \$@
9190: 5c 6e 22 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70  \n"..close $outp
91a0: 75 74 5f 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20  ut_file.#.# End 
91b0: 6f 66 20 74 68 65 20 77 69 6e 2f 4d 61 6b 65 66  of the win/Makef
91c0: 69 6c 65 2e 6d 69 6e 67 77 20 6f 75 74 70 75 74  ile.mingw output
91d0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
91e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
91f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9210: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
9220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9260: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
9270: 23 23 23 23 23 23 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 0a 23 20  #############.# 
92c0: 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69  Begin win/Makefi
92d0: 6c 65 2e 64 6d 63 20 6f 75 74 70 75 74 0a 23 0a  le.dmc output.#.
92e0: 70 75 74 73 20 22 62 75 69 6c 64 69 6e 67 20 2e  puts "building .
92f0: 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64  ./win/Makefile.d
9300: 6d 63 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66  mc".set output_f
9310: 69 6c 65 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e  ile [open ../win
9320: 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 77 5d  /Makefile.dmc w]
9330: 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 6f 75 74  .fconfigure $out
9340: 70 75 74 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c  put_file -transl
9350: 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72  ation binary..wr
9360: 69 74 65 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23  iteln {#.#######
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 0a 23 20 57 41 52 4e 49 4e  #######.# WARNIN
93c0: 47 3a 20 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20  G: DO NOT EDIT, 
93d0: 41 55 54 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45  AUTOMATICALLY GE
93e0: 4e 45 52 41 54 45 44 20 46 49 4c 45 20 28 53 45  NERATED FILE (SE
93f0: 45 20 22 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e  E "src/makemake.
9400: 74 63 6c 22 29 0a 23 23 23 23 23 23 23 23 23 23  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 0a 23 0a 23 20 54 68 69 73 20 66 69  ####.#.# This fi
9460: 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61  le is automatica
9470: 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20  lly generated.  
9480: 49 6e 73 74 65 61 64 20 6f 66 20 65 64 69 74 69  Instead of editi
9490: 6e 67 20 74 68 69 73 0a 23 20 66 69 6c 65 2c 20  ng this.# file, 
94a0: 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74  edit "makemake.t
94b0: 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 22 74 63  cl" then run "tc
94c0: 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c  lsh makemake.tcl
94d0: 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 72 61 74  ".# to regenerat
94e0: 65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 0a 42  e this file..#.B
94f0: 20 20 20 20 20 20 3d 20 2e 2e 0a 53 52 43 44 49        = ...SRCDI
9500: 52 20 3d 20 24 42 5c 73 72 63 0a 4f 42 4a 44 49  R = $B\src.OBJDI
9510: 52 20 3d 20 2e 0a 4f 20 20 20 20 20 20 3d 20 2e  R = ..O      = .
9520: 6f 62 6a 0a 45 20 20 20 20 20 20 3d 20 2e 65 78  obj.E      = .ex
9530: 65 0a 0a 0a 23 20 4d 61 79 62 65 20 44 4d 44 49  e...# Maybe DMDI
9540: 52 2c 20 53 53 4c 20 6f 72 20 49 4e 43 4c 20 6e  R, SSL or INCL n
9550: 65 65 64 73 20 61 64 6a 75 73 74 6d 65 6e 74 0a  eeds adjustment.
9560: 44 4d 44 49 52 20 20 3d 20 63 3a 5c 44 4d 0a 49  DMDIR  = c:\DM.I
9570: 4e 43 4c 20 20 20 3d 20 2d 49 2e 20 2d 49 24 28  NCL   = -I. -I$(
9580: 53 52 43 44 49 52 29 20 2d 49 24 42 5c 77 69 6e  SRCDIR) -I$B\win
9590: 5c 69 6e 63 6c 75 64 65 20 2d 49 24 28 44 4d 44  \include -I$(DMD
95a0: 49 52 29 5c 65 78 74 72 61 5c 69 6e 63 6c 75 64  IR)\extra\includ
95b0: 65 0a 0a 23 53 53 4c 20 20 20 3d 20 20 2d 44 46  e..#SSL   =  -DF
95c0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
95d0: 3d 31 0a 53 53 4c 20 20 20 20 3d 0a 0a 43 46 4c  =1.SSL    =..CFL
95e0: 41 47 53 20 3d 20 2d 6f 0a 42 43 43 20 20 20 20  AGS = -o.BCC    
95f0: 3d 20 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c 64  = $(DMDIR)\bin\d
9600: 6d 63 20 24 28 43 46 4c 41 47 53 29 0a 54 43 43  mc $(CFLAGS).TCC
9610: 20 20 20 20 3d 20 24 28 44 4d 44 49 52 29 5c 62      = $(DMDIR)\b
9620: 69 6e 5c 64 6d 63 20 24 28 43 46 4c 41 47 53 29  in\dmc $(CFLAGS)
9630: 20 24 28 44 4d 43 44 45 46 29 20 24 28 53 53 4c   $(DMCDEF) $(SSL
9640: 29 20 24 28 49 4e 43 4c 29 0a 4c 49 42 53 20 20  ) $(INCL).LIBS  
9650: 20 3d 20 24 28 44 4d 44 49 52 29 5c 65 78 74 72   = $(DMDIR)\extr
9660: 61 5c 6c 69 62 5c 20 7a 6c 69 62 20 77 73 6f 63  a\lib\ zlib wsoc
9670: 6b 33 32 20 61 64 76 61 70 69 33 32 0a 7d 0a 77  k32 advapi32.}.w
9680: 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f  riteln "SQLITE_O
9690: 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24  PTIONS = [join $
96a0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b  SQLITE_OPTIONS {
96b0: 20 7d 5d 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22   }]\n".writeln "
96c0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20  SHELL_OPTIONS = 
96d0: 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e  [join $SHELL_WIN
96e0: 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 5c  32_OPTIONS { }]\
96f0: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
9700: 77 6c 69 6e 65 20 22 53 52 43 20 20 20 3d 22 0a  wline "SRC   =".
9710: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
9720: 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65   $src] {.  write
9730: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20  ln -nonewline " 
9740: 24 7b 73 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 65  ${s}_.c".}.write
9750: 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20  ln "\n".writeln 
9760: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20  -nonewline "OBJ 
9770: 20 20 3d 20 22 0a 66 6f 72 65 61 63 68 20 73 20    = ".foreach s 
9780: 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20  [lsort $src] {. 
9790: 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c   writeln -nonewl
97a0: 69 6e 65 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c  ine "\$(OBJDIR)\
97b0: 5c 24 73 5c 24 4f 20 22 0a 7d 0a 77 72 69 74 65  \$s\$O ".}.write
97c0: 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c  ln "\$(OBJDIR)\\
97d0: 73 68 65 6c 6c 5c 24 4f 20 5c 24 28 4f 42 4a 44  shell\$O \$(OBJD
97e0: 49 52 29 5c 5c 73 71 6c 69 74 65 33 5c 24 4f 20  IR)\\sqlite3\$O 
97f0: 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 74 68 5c 24  \$(OBJDIR)\\th\$
9800: 4f 20 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 74 68  O \$(OBJDIR)\\th
9810: 5f 6c 61 6e 67 5c 24 4f 22 0a 77 72 69 74 65 6c  _lang\$O".writel
9820: 6e 20 7b 0a 0a 52 43 3d 24 28 44 4d 44 49 52 29  n {..RC=$(DMDIR)
9830: 5c 62 69 6e 5c 72 63 63 0a 52 43 46 4c 41 47 53  \bin\rcc.RCFLAGS
9840: 3d 2d 33 32 20 2d 77 31 20 2d 49 24 28 53 52 43  =-32 -w1 -I$(SRC
9850: 44 49 52 29 20 2f 44 5f 5f 44 4d 43 5f 5f 0a 0a  DIR) /D__DMC__..
9860: 41 50 50 4e 41 4d 45 20 3d 20 24 28 4f 42 4a 44  APPNAME = $(OBJD
9870: 49 52 29 5c 66 6f 73 73 69 6c 24 28 45 29 0a 0a  IR)\fossil$(E)..
9880: 61 6c 6c 3a 20 24 28 41 50 50 4e 41 4d 45 29 0a  all: $(APPNAME).
9890: 0a 24 28 41 50 50 4e 41 4d 45 29 20 3a 20 74 72  .$(APPNAME) : tr
98a0: 61 6e 73 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65  anslate$E mkinde
98b0: 78 24 45 20 63 6f 64 65 63 68 65 63 6b 31 24 45  x$E codecheck1$E
98c0: 20 68 65 61 64 65 72 73 20 20 24 28 4f 42 4a 29   headers  $(OBJ)
98d0: 20 24 28 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 0a   $(OBJDIR)\link.
98e0: 09 63 64 20 24 28 4f 42 4a 44 49 52 29 0a 09 63  .cd $(OBJDIR)..c
98f0: 6f 64 65 63 68 65 63 6b 31 24 45 20 24 28 53 52  odecheck1$E $(SR
9900: 43 29 0a 09 24 28 44 4d 44 49 52 29 5c 62 69 6e  C)..$(DMDIR)\bin
9910: 5c 6c 69 6e 6b 20 40 6c 69 6e 6b 0a 0a 24 28 4f  \link @link..$(O
9920: 42 4a 44 49 52 29 5c 66 6f 73 73 69 6c 2e 72 65  BJDIR)\fossil.re
9930: 73 3a 09 24 42 5c 77 69 6e 5c 66 6f 73 73 69 6c  s:.$B\win\fossil
9940: 2e 72 63 0a 09 24 28 52 43 29 20 24 28 52 43 46  .rc..$(RC) $(RCF
9950: 4c 41 47 53 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a  LAGS) -o$@ $**..
9960: 24 28 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 3a 20  $(OBJDIR)\link: 
9970: 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e  $B\win\Makefile.
9980: 64 6d 63 20 24 28 4f 42 4a 44 49 52 29 5c 66 6f  dmc $(OBJDIR)\fo
9990: 73 73 69 6c 2e 72 65 73 7d 0a 77 72 69 74 65 6c  ssil.res}.writel
99a0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74  n -nonewline "\t
99b0: 2b 65 63 68 6f 20 22 0a 66 6f 72 65 61 63 68 20  +echo ".foreach 
99c0: 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b  s [lsort $src] {
99d0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
99e0: 77 6c 69 6e 65 20 22 24 73 20 22 0a 7d 0a 77 72  wline "$s ".}.wr
99f0: 69 74 65 6c 6e 20 22 73 68 65 6c 6c 20 73 71 6c  iteln "shell sql
9a00: 69 74 65 33 20 74 68 20 74 68 5f 6c 61 6e 67 20  ite3 th th_lang 
9a10: 3e 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22  > \$@".writeln "
9a20: 5c 74 2b 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e  \t+echo fossil >
9a30: 3e 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22  > \$@".writeln "
9a40: 5c 74 2b 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e  \t+echo fossil >
9a50: 3e 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22  > \$@".writeln "
9a60: 5c 74 2b 65 63 68 6f 20 5c 24 28 4c 49 42 53 29  \t+echo \$(LIBS)
9a70: 20 3e 3e 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e   >> \$@".writeln
9a80: 20 22 5c 74 2b 65 63 68 6f 2e 20 3e 3e 20 5c 24   "\t+echo. >> \$
9a90: 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65  @".writeln "\t+e
9aa0: 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24  cho fossil >> \$
9ab0: 40 22 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 74 72  @"..writeln {.tr
9ac0: 61 6e 73 6c 61 74 65 24 45 3a 20 24 28 53 52 43  anslate$E: $(SRC
9ad0: 44 49 52 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63  DIR)\translate.c
9ae0: 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a  ..$(BCC) -o$@ $*
9af0: 2a 0a 0a 6d 61 6b 65 68 65 61 64 65 72 73 24 45  *..makeheaders$E
9b00: 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 61 6b 65  : $(SRCDIR)\make
9b10: 68 65 61 64 65 72 73 2e 63 0a 09 24 28 42 43 43  headers.c..$(BCC
9b20: 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 69 6e  ) -o$@ $**..mkin
9b30: 64 65 78 24 45 3a 20 24 28 53 52 43 44 49 52 29  dex$E: $(SRCDIR)
9b40: 5c 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28 42 43  \mkindex.c..$(BC
9b50: 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 62  C) -o$@ $**..mkb
9b60: 75 69 6c 74 69 6e 24 45 3a 20 24 28 53 52 43 44  uiltin$E: $(SRCD
9b70: 49 52 29 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a  IR)\mkbuiltin.c.
9b80: 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a  .$(BCC) -o$@ $**
9b90: 0a 0a 6d 6b 76 65 72 73 69 6f 6e 24 45 3a 20 24  ..mkversion$E: $
9ba0: 28 53 52 43 44 49 52 29 5c 6d 6b 76 65 72 73 69  (SRCDIR)\mkversi
9bb0: 6f 6e 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 24  on.c..$(BCC) -o$
9bc0: 40 20 24 2a 2a 0a 0a 6d 6b 63 73 73 24 45 3a 20  @ $**..mkcss$E: 
9bd0: 24 28 53 52 43 44 49 52 29 5c 6d 6b 63 73 73 2e  $(SRCDIR)\mkcss.
9be0: 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24  c..$(BCC) -o$@ $
9bf0: 2a 2a 0a 0a 63 6f 64 65 63 68 65 63 6b 31 24 45  **..codecheck1$E
9c00: 3a 20 24 28 53 52 43 44 49 52 29 5c 63 6f 64 65  : $(SRCDIR)\code
9c10: 63 68 65 63 6b 31 2e 63 0a 09 24 28 42 43 43 29  check1.c..$(BCC)
9c20: 20 2d 6f 24 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a   -o$@ $**..$(OBJ
9c30: 44 49 52 29 5c 73 68 65 6c 6c 24 4f 20 3a 20 24  DIR)\shell$O : $
9c40: 28 53 52 43 44 49 52 29 5c 73 68 65 6c 6c 2e 63  (SRCDIR)\shell.c
9c50: 0a 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63  ..$(TCC) -o$@ -c
9c60: 20 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53   $(SHELL_OPTIONS
9c70: 29 20 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f  ) $(SQLITE_OPTIO
9c80: 4e 53 29 20 24 28 53 48 45 4c 4c 5f 43 46 4c 41  NS) $(SHELL_CFLA
9c90: 47 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49  GS) $**..$(OBJDI
9ca0: 52 29 5c 73 71 6c 69 74 65 33 24 4f 20 3a 20 24  R)\sqlite3$O : $
9cb0: 28 53 52 43 44 49 52 29 5c 73 71 6c 69 74 65 33  (SRCDIR)\sqlite3
9cc0: 2e 63 0a 09 24 28 54 43 43 29 20 2d 6f 24 40 20  .c..$(TCC) -o$@ 
9cd0: 2d 63 20 24 28 53 51 4c 49 54 45 5f 4f 50 54 49  -c $(SQLITE_OPTI
9ce0: 4f 4e 53 29 20 24 28 53 51 4c 49 54 45 5f 43 46  ONS) $(SQLITE_CF
9cf0: 4c 41 47 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a  LAGS) $**..$(OBJ
9d00: 44 49 52 29 5c 74 68 24 4f 20 3a 20 24 28 53 52  DIR)\th$O : $(SR
9d10: 43 44 49 52 29 5c 74 68 2e 63 0a 09 24 28 54 43  CDIR)\th.c..$(TC
9d20: 43 29 20 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a  C) -o$@ -c $**..
9d30: 24 28 4f 42 4a 44 49 52 29 5c 74 68 5f 6c 61 6e  $(OBJDIR)\th_lan
9d40: 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  g$O : $(SRCDIR)\
9d50: 74 68 5f 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43  th_lang.c..$(TCC
9d60: 29 20 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24  ) -o$@ -c $**..$
9d70: 28 4f 42 4a 44 49 52 29 5c 63 73 6f 6e 5f 61 6d  (OBJDIR)\cson_am
9d80: 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 20 3a 20 24  algamation.h : $
9d90: 28 53 52 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d  (SRCDIR)\cson_am
9da0: 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 0a 09 63 70  algamation.h..cp
9db0: 20 24 40 20 24 40 0a 0a 56 45 52 53 49 4f 4e 2e   $@ $@..VERSION.
9dc0: 68 20 3a 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20  h : mkversion$E 
9dd0: 24 42 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64  $B\manifest.uuid
9de0: 20 24 42 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c   $B\manifest $B\
9df0: 56 45 52 53 49 4f 4e 0a 09 2b 24 2a 2a 20 3e 20  VERSION..+$** > 
9e00: 24 40 0a 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e  $@..default_css.
9e10: 68 20 3a 20 6d 6b 63 73 73 24 45 20 24 42 5c 73  h : mkcss$E $B\s
9e20: 72 63 5c 64 65 66 61 75 6c 74 5f 63 73 73 2e 74  rc\default_css.t
9e30: 78 74 0a 09 2b 24 2a 2a 20 24 42 5c 73 72 63 5c  xt..+$** $B\src\
9e40: 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 20  default_css.txt 
9e50: 24 40 0a 0a 70 61 67 65 5f 69 6e 64 65 78 2e 68  $@..page_index.h
9e60: 3a 20 6d 6b 69 6e 64 65 78 24 45 20 24 28 53 52  : mkindex$E $(SR
9e70: 43 29 0a 09 2b 24 2a 2a 20 3e 20 24 40 0a 0a 62  C)..+$** > $@..b
9e80: 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09 6d  uiltin_data.h:.m
9e90: 6b 62 75 69 6c 74 69 6e 24 45 20 24 28 45 58 54  kbuiltin$E $(EXT
9ea0: 52 41 5f 46 49 4c 45 53 29 0a 09 6d 6b 62 75 69  RA_FILES)..mkbui
9eb0: 6c 74 69 6e 24 45 20 2d 2d 70 72 65 66 69 78 20  ltin$E --prefix 
9ec0: 24 28 53 52 43 44 49 52 29 2f 20 24 28 45 58 54  $(SRCDIR)/ $(EXT
9ed0: 52 41 5f 46 49 4c 45 53 29 20 3e 20 24 40 0a 0a  RA_FILES) > $@..
9ee0: 63 6c 65 61 6e 3a 0a 09 2d 64 65 6c 20 24 28 4f  clean:..-del $(O
9ef0: 42 4a 44 49 52 29 5c 2a 2e 6f 62 6a 0a 09 2d 64  BJDIR)\*.obj..-d
9f00: 65 6c 20 2a 2e 6f 62 6a 20 2a 5f 2e 63 20 2a 2e  el *.obj *_.c *.
9f10: 68 20 2a 2e 6d 61 70 0a 0a 72 65 61 6c 63 6c 65  h *.map..realcle
9f20: 61 6e 3a 0a 09 2d 64 65 6c 20 24 28 41 50 50 4e  an:..-del $(APPN
9f30: 41 4d 45 29 20 74 72 61 6e 73 6c 61 74 65 24 45  AME) translate$E
9f40: 20 6d 6b 69 6e 64 65 78 24 45 20 6d 61 6b 65 68   mkindex$E makeh
9f50: 65 61 64 65 72 73 24 45 20 6d 6b 76 65 72 73 69  eaders$E mkversi
9f60: 6f 6e 24 45 20 63 6f 64 65 63 68 65 63 6b 31 24  on$E codecheck1$
9f70: 45 20 6d 6b 62 75 69 6c 74 69 6e 24 45 20 6d 6b  E mkbuiltin$E mk
9f80: 63 73 73 24 45 0a 0a 24 28 4f 42 4a 44 49 52 29  css$E..$(OBJDIR)
9f90: 5c 6a 73 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44  \json$O : $(SRCD
9fa0: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
9fb0: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
9fc0: 5f 61 72 74 69 66 61 63 74 24 4f 20 3a 20 24 28  _artifact$O : $(
9fd0: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74  SRCDIR)\json_det
9fe0: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c  ail.h.$(OBJDIR)\
9ff0: 6a 73 6f 6e 5f 62 72 61 6e 63 68 24 4f 20 3a 20  json_branch$O : 
a000: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
a010: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
a020: 29 5c 6a 73 6f 6e 5f 63 6f 6e 66 69 67 24 4f 20  )\json_config$O 
a030: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a040: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
a050: 49 52 29 5c 6a 73 6f 6e 5f 64 69 66 66 24 4f 20  IR)\json_diff$O 
a060: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a070: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
a080: 49 52 29 5c 6a 73 6f 6e 5f 64 69 72 24 4f 20 3a  IR)\json_dir$O :
a090: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f   $(SRCDIR)\json_
a0a0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI
a0b0: 52 29 5c 6a 73 6f 6e 5f 66 69 6e 66 6f 24 4f 20  R)\json_finfo$O 
a0c0: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
a0d0: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
a0e0: 49 52 29 5c 6a 73 6f 6e 5f 6c 6f 67 69 6e 24 4f  IR)\json_login$O
a0f0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
a100: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
a110: 44 49 52 29 5c 6a 73 6f 6e 5f 71 75 65 72 79 24  DIR)\json_query$
a120: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73  O : $(SRCDIR)\js
a130: 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42  on_detail.h.$(OB
a140: 4a 44 49 52 29 5c 6a 73 6f 6e 5f 72 65 70 6f 72  JDIR)\json_repor
a150: 74 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  t$O : $(SRCDIR)\
a160: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28  json_detail.h.$(
a170: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 73 74 61  OBJDIR)\json_sta
a180: 74 75 73 24 4f 20 3a 20 24 28 53 52 43 44 49 52  tus$O : $(SRCDIR
a190: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a1a0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74  $(OBJDIR)\json_t
a1b0: 61 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  ag$O : $(SRCDIR)
a1c0: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$
a1d0: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 69  (OBJDIR)\json_ti
a1e0: 6d 65 6c 69 6e 65 24 4f 20 3a 20 24 28 53 52 43  meline$O : $(SRC
a1f0: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
a200: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
a210: 6e 5f 75 73 65 72 24 4f 20 3a 20 24 28 53 52 43  n_user$O : $(SRC
a220: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
a230: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
a240: 6e 5f 77 69 6b 69 24 4f 20 3a 20 24 28 53 52 43  n_wiki$O : $(SRC
a250: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
a260: 2e 68 0a 0a 0a 7d 0a 66 6f 72 65 61 63 68 20 73  .h...}.foreach s
a270: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
a280: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42    writeln "\$(OB
a290: 4a 44 49 52 29 5c 5c 24 73 5c 24 4f 20 3a 20 24  JDIR)\\$s\$O : $
a2a0: 7b 73 7d 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20  {s}_.c ${s}.h". 
a2b0: 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54   writeln "\t\$(T
a2c0: 43 43 29 20 2d 6f 5c 24 40 20 2d 63 20 24 7b 73  CC) -o\$@ -c ${s
a2d0: 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c  }_.c\n".  writel
a2e0: 6e 20 22 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28  n "${s}_.c : \$(
a2f0: 53 52 43 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20  SRCDIR)\\$s.c". 
a300: 20 77 72 69 74 65 6c 6e 20 22 5c 74 2b 74 72 61   writeln "\t+tra
a310: 6e 73 6c 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e  nslate\$E \$** >
a320: 20 5c 24 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65   \$@\n".}..write
a330: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 68  ln -nonewline "h
a340: 65 61 64 65 72 73 3a 20 6d 61 6b 65 68 65 61 64  eaders: makehead
a350: 65 72 73 5c 24 45 20 70 61 67 65 5f 69 6e 64 65  ers\$E page_inde
a360: 78 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61  x.h builtin_data
a370: 2e 68 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 68  .h default_css.h
a380: 20 56 45 52 53 49 4f 4e 2e 68 5c 6e 5c 74 20 2b   VERSION.h\n\t +
a390: 6d 61 6b 65 68 65 61 64 65 72 73 5c 24 45 20 22  makeheaders\$E "
a3a0: 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72  .foreach s [lsor
a3b0: 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74  t $src] {.  writ
a3c0: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
a3d0: 24 7b 73 7d 5f 2e 63 3a 24 73 2e 68 20 22 0a 7d  ${s}_.c:$s.h ".}
a3e0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 53 52 43  .writeln "\$(SRC
a3f0: 44 49 52 29 5c 5c 73 71 6c 69 74 65 33 2e 68 20  DIR)\\sqlite3.h 
a400: 5c 24 28 53 52 43 44 49 52 29 5c 5c 74 68 2e 68  \$(SRCDIR)\\th.h
a410: 20 56 45 52 53 49 4f 4e 2e 68 20 5c 24 28 53 52   VERSION.h \$(SR
a420: 43 44 49 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c  CDIR)\\cson_amal
a430: 67 61 6d 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74  gamation.h".writ
a440: 65 6c 6e 20 22 5c 74 40 63 6f 70 79 20 2f 59 20  eln "\t@copy /Y 
a450: 6e 75 6c 3a 20 68 65 61 64 65 72 73 22 0a 0a 63  nul: headers"..c
a460: 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f 66 69 6c  lose $output_fil
a470: 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 74 68 65  e.#.# End of the
a480: 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d   win/Makefile.dm
a490: 63 20 6f 75 74 70 75 74 0a 23 23 23 23 23 23 23  c 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 0a 23 23 23 23 23 23 23 23  #######.########
a4f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a530: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 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 0a 23 20 42 65 67 69 6e 20 77 69  #####.# Begin wi
a590: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f  n/Makefile.msc o
a5a0: 75 74 70 75 74 0a 23 0a 70 75 74 73 20 22 62 75  utput.#.puts "bu
a5b0: 69 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61  ilding ../win/Ma
a5c0: 6b 65 66 69 6c 65 2e 6d 73 63 22 0a 73 65 74 20  kefile.msc".set 
a5d0: 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65  output_file [ope
a5e0: 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c  n ../win/Makefil
a5f0: 65 2e 6d 73 63 20 77 5d 0a 66 63 6f 6e 66 69 67  e.msc w].fconfig
a600: 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65  ure $output_file
a610: 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69   -translation bi
a620: 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23  nary..writeln {#
a630: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
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 0a  ###############.
a680: 23 20 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f  # WARNING: DO NO
a690: 54 20 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49  T EDIT, AUTOMATI
a6a0: 43 41 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20  CALLY GENERATED 
a6b0: 46 49 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d  FILE (SEE "src/m
a6c0: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23  akemake.tcl").##
a6d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0a 23 0a 23  ############.#.#
a720: 20 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20 77   This Makefile w
a730: 69 6c 6c 20 6f 6e 6c 79 20 66 75 6e 63 74 69 6f  ill only functio
a740: 6e 20 63 6f 72 72 65 63 74 6c 79 20 69 66 20 75  n correctly if u
a750: 73 65 64 20 66 72 6f 6d 20 61 20 73 75 62 2d 64  sed from a sub-d
a760: 69 72 65 63 74 6f 72 79 0a 23 20 74 68 61 74 20  irectory.# that 
a770: 69 73 20 61 20 64 69 72 65 63 74 20 63 68 69 6c  is a direct chil
a780: 64 20 6f 66 20 74 68 65 20 74 6f 70 2d 6c 65 76  d of the top-lev
a790: 65 6c 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72  el directory for
a7a0: 20 74 68 69 73 20 70 72 6f 6a 65 63 74 2e 0a 23   this project..#
a7b0: 0a 21 69 66 20 21 65 78 69 73 74 28 22 2e 2e 5c  .!if !exist("..\
a7c0: 2e 66 6f 73 73 69 6c 2d 73 65 74 74 69 6e 67 73  .fossil-settings
a7d0: 22 29 0a 21 65 72 72 6f 72 20 22 50 6c 65 61 73  ").!error "Pleas
a7e0: 65 20 63 68 61 6e 67 65 20 74 68 65 20 63 75 72  e change the cur
a7f0: 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 74  rent directory t
a800: 6f 20 74 68 65 20 6f 6e 65 20 63 6f 6e 74 61 69  o the one contai
a810: 6e 69 6e 67 20 74 68 69 73 20 66 69 6c 65 2e 22  ning this file."
a820: 0a 21 65 6e 64 69 66 0a 0a 23 0a 23 20 54 68 69  .!endif..#.# Thi
a830: 73 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61  s file is automa
a840: 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65  tically generate
a850: 64 2e 20 20 49 6e 73 74 65 61 64 20 6f 66 20 65  d.  Instead of e
a860: 64 69 74 69 6e 67 20 74 68 69 73 0a 23 20 66 69  diting this.# fi
a870: 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b 65 6d 61  le, edit "makema
a880: 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20 72 75 6e  ke.tcl" then run
a890: 20 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65   "tclsh makemake
a8a0: 2e 74 63 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e  .tcl".# to regen
a8b0: 65 72 61 74 65 20 74 68 69 73 20 66 69 6c 65 2e  erate this file.
a8c0: 0a 23 0a 42 20 20 20 20 20 20 20 3d 20 2e 2e 0a  .#.B       = ...
a8d0: 53 52 43 44 49 52 20 20 3d 20 24 42 5c 73 72 63  SRCDIR  = $B\src
a8e0: 0a 4f 42 4a 44 49 52 20 20 3d 20 2e 0a 4f 58 20  .OBJDIR  = ..OX 
a8f0: 20 20 20 20 20 3d 20 2e 0a 4f 20 20 20 20 20 20       = ..O      
a900: 20 3d 20 2e 6f 62 6a 0a 45 20 20 20 20 20 20 20   = .obj.E       
a910: 3d 20 2e 65 78 65 0a 50 20 20 20 20 20 20 20 3d  = .exe.P       =
a920: 20 2e 70 64 62 0a 0a 23 20 50 65 72 6c 20 69 73   .pdb..# Perl is
a930: 20 6f 6e 6c 79 20 6e 65 63 65 73 73 61 72 79 20   only necessary 
a940: 69 66 20 4f 70 65 6e 53 53 4c 20 73 75 70 70 6f  if OpenSSL suppo
a950: 72 74 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e  rt is enabled an
a960: 64 20 69 74 20 6d 75 73 74 0a 23 20 62 65 20 62  d it must.# be b
a970: 75 69 6c 74 20 66 72 6f 6d 20 73 6f 75 72 63 65  uilt from source
a980: 20 63 6f 64 65 2e 20 20 54 68 65 20 50 45 52 4c   code.  The PERL
a990: 44 49 52 20 76 61 72 69 61 62 6c 65 20 73 68 6f  DIR variable sho
a9a0: 75 6c 64 20 70 6f 69 6e 74 20 74 6f 0a 23 20 74  uld point to.# t
a9b0: 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e  he directory con
a9c0: 74 61 69 6e 69 6e 67 20 74 68 65 20 6d 61 69 6e  taining the main
a9d0: 20 50 65 72 6c 20 62 69 6e 61 72 79 20 28 69 2e   Perl binary (i.
a9e0: 65 2e 20 22 70 65 72 6c 2e 65 78 65 22 29 2e 0a  e. "perl.exe")..
a9f0: 50 45 52 4c 44 49 52 20 3d 20 43 3a 5c 50 65 72  PERLDIR = C:\Per
aa00: 6c 5c 62 69 6e 0a 50 45 52 4c 20 20 20 20 3d 20  l\bin.PERL    = 
aa10: 70 65 72 6c 2e 65 78 65 0a 0a 23 20 45 6e 61 62  perl.exe..# Enab
aa20: 6c 65 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d  le debugging sym
aa30: 62 6f 6c 73 3f 0a 21 69 66 6e 64 65 66 20 44 45  bols?.!ifndef DE
aa40: 42 55 47 0a 44 45 42 55 47 20 3d 20 30 0a 21 65  BUG.DEBUG = 0.!e
aa50: 6e 64 69 66 0a 0a 23 20 42 75 69 6c 64 20 74 68  ndif..# Build th
aa60: 65 20 4f 70 65 6e 53 53 4c 20 6c 69 62 72 61 72  e OpenSSL librar
aa70: 69 65 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  ies?.!ifndef FOS
aa80: 53 49 4c 5f 42 55 49 4c 44 5f 53 53 4c 0a 46 4f  SIL_BUILD_SSL.FO
aa90: 53 53 49 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d  SSIL_BUILD_SSL =
aaa0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 42 75 69   0.!endif..# Bui
aab0: 6c 64 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20  ld the included 
aac0: 7a 6c 69 62 20 6c 69 62 72 61 72 79 3f 0a 21 69  zlib library?.!i
aad0: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 42 55 49  fndef FOSSIL_BUI
aae0: 4c 44 5f 5a 4c 49 42 0a 46 4f 53 53 49 4c 5f 42  LD_ZLIB.FOSSIL_B
aaf0: 55 49 4c 44 5f 5a 4c 49 42 20 3d 20 31 0a 21 65  UILD_ZLIB = 1.!e
ab00: 6e 64 69 66 0a 0a 23 20 4c 69 6e 6b 20 65 76 65  ndif..# Link eve
ab10: 72 79 74 68 69 6e 67 20 65 78 63 65 70 74 20 53  rything except S
ab20: 51 4c 69 74 65 20 64 79 6e 61 6d 69 63 61 6c 6c  QLite dynamicall
ab30: 79 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49  y?.!ifndef FOSSI
ab40: 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 0a  L_DYNAMIC_BUILD.
ab50: 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42  FOSSIL_DYNAMIC_B
ab60: 55 49 4c 44 20 3d 20 30 0a 21 65 6e 64 69 66 0a  UILD = 0.!endif.
ab70: 0a 23 20 45 6e 61 62 6c 65 20 72 65 6c 61 74 69  .# Enable relati
ab80: 76 65 20 70 61 74 68 73 20 69 6e 20 65 78 74 65  ve paths in exte
ab90: 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 66 66 3f  rnal diff/gdiff?
aba0: 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  .!ifndef FOSSIL_
abb0: 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f  ENABLE_EXEC_REL_
abc0: 50 41 54 48 53 0a 46 4f 53 53 49 4c 5f 45 4e 41  PATHS.FOSSIL_ENA
abd0: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
abe0: 48 53 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23  HS = 0.!endif..#
abf0: 20 45 6e 61 62 6c 65 20 74 68 65 20 4a 53 4f 4e   Enable the JSON
ac00: 20 41 50 49 3f 0a 21 69 66 6e 64 65 66 20 46 4f   API?.!ifndef FO
ac10: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  SSIL_ENABLE_JSON
ac20: 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a  .FOSSIL_ENABLE_J
ac30: 53 4f 4e 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a  SON = 0.!endif..
ac40: 23 20 45 6e 61 62 6c 65 20 6c 65 67 61 63 79 20  # Enable legacy 
ac50: 74 72 65 61 74 6d 65 6e 74 20 6f 66 20 74 68 65  treatment of the
ac60: 20 6d 76 2f 72 6d 20 63 6f 6d 6d 61 6e 64 73 3f   mv/rm commands?
ac70: 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  .!ifndef FOSSIL_
ac80: 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56  ENABLE_LEGACY_MV
ac90: 5f 52 4d 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  _RM.FOSSIL_ENABL
aca0: 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 20 3d  E_LEGACY_MV_RM =
acb0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61   0.!endif..# Ena
acc0: 62 6c 65 20 75 73 65 20 6f 66 20 6d 69 6e 69 7a  ble use of miniz
acd0: 20 69 6e 73 74 65 61 64 20 6f 66 20 7a 6c 69 62   instead of zlib
ace0: 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c  ?.!ifndef FOSSIL
acf0: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 46 4f  _ENABLE_MINIZ.FO
ad00: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
ad10: 5a 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20  Z = 0.!endif..# 
ad20: 45 6e 61 62 6c 65 20 4f 70 65 6e 53 53 4c 20 73  Enable OpenSSL s
ad30: 75 70 70 6f 72 74 3f 0a 21 69 66 6e 64 65 66 20  upport?.!ifndef 
ad40: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
ad50: 4c 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  L.FOSSIL_ENABLE_
ad60: 53 53 4c 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a  SSL = 0.!endif..
ad70: 23 20 45 6e 61 62 6c 65 20 74 68 65 20 54 63 6c  # Enable the Tcl
ad80: 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 73 75 62   integration sub
ad90: 73 79 73 74 65 6d 3f 0a 21 69 66 6e 64 65 66 20  system?.!ifndef 
ada0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
adb0: 4c 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  L.FOSSIL_ENABLE_
adc0: 54 43 4c 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a  TCL = 0.!endif..
add0: 23 20 45 6e 61 62 6c 65 20 54 48 31 20 73 63 72  # Enable TH1 scr
ade0: 69 70 74 73 20 69 6e 20 65 6d 62 65 64 64 65 64  ipts in embedded
adf0: 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66   documentation f
ae00: 69 6c 65 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f  iles?.!ifndef FO
ae10: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f  SSIL_ENABLE_TH1_
ae20: 44 4f 43 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42  DOCS.FOSSIL_ENAB
ae30: 4c 45 5f 54 48 31 5f 44 4f 43 53 20 3d 20 30 0a  LE_TH1_DOCS = 0.
ae40: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ae50: 20 54 48 31 20 68 6f 6f 6b 73 20 66 6f 72 20 63   TH1 hooks for c
ae60: 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 77 65 62 20  ommands and web 
ae70: 70 61 67 65 73 3f 0a 21 69 66 6e 64 65 66 20 46  pages?.!ifndef F
ae80: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31  OSSIL_ENABLE_TH1
ae90: 5f 48 4f 4f 4b 53 0a 46 4f 53 53 49 4c 5f 45 4e  _HOOKS.FOSSIL_EN
aea0: 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 20 3d  ABLE_TH1_HOOKS =
aeb0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61   0.!endif..# Ena
aec0: 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ble support for 
aed0: 57 69 6e 64 6f 77 73 20 58 50 20 77 69 74 68 20  Windows XP with 
aee0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30  Visual Studio 20
aef0: 31 78 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53  1x?.!ifndef FOSS
af00: 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 0a  IL_ENABLE_WINXP.
af10: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 57 49  FOSSIL_ENABLE_WI
af20: 4e 58 50 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a  NXP = 0.!endif..
af30: 23 20 45 6e 61 62 6c 65 20 73 75 70 70 6f 72 74  # Enable support
af40: 20 66 6f 72 20 74 68 65 20 53 51 4c 69 74 65 20   for the SQLite 
af50: 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 65 6e  Encryption Exten
af60: 73 69 6f 6e 3f 0a 21 69 66 6e 64 65 66 20 55 53  sion?.!ifndef US
af70: 45 5f 53 45 45 0a 55 53 45 5f 53 45 45 20 3d 20  E_SEE.USE_SEE = 
af80: 30 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  0.!endif..!if $(
af90: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
afa0: 4c 29 21 3d 30 0a 53 53 4c 44 49 52 20 20 20 20  L)!=0.SSLDIR    
afb0: 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74 5c 6f 70  = $(B)\compat\op
afc0: 65 6e 73 73 6c 2d 31 2e 30 2e 32 6e 0a 53 53 4c  enssl-1.0.2n.SSL
afd0: 49 4e 43 44 49 52 20 3d 20 24 28 53 53 4c 44 49  INCDIR = $(SSLDI
afe0: 52 29 5c 69 6e 63 33 32 0a 21 69 66 20 24 28 46  R)\inc32.!if $(F
aff0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b000: 49 4c 44 29 21 3d 30 0a 53 53 4c 4c 49 42 44 49  ILD)!=0.SSLLIBDI
b010: 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c 6f 75  R = $(SSLDIR)\ou
b020: 74 33 32 64 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c  t32dll.!else.SSL
b030: 4c 49 42 44 49 52 20 3d 20 24 28 53 53 4c 44 49  LIBDIR = $(SSLDI
b040: 52 29 5c 6f 75 74 33 32 0a 21 65 6e 64 69 66 0a  R)\out32.!endif.
b050: 53 53 4c 4c 46 4c 41 47 53 20 3d 20 2f 6e 6f 6c  SSLLFLAGS = /nol
b060: 6f 67 6f 20 2f 6f 70 74 3a 72 65 66 20 2f 64 65  ogo /opt:ref /de
b070: 62 75 67 0a 53 53 4c 4c 49 42 20 20 20 20 3d 20  bug.SSLLIB    = 
b080: 73 73 6c 65 61 79 33 32 2e 6c 69 62 20 6c 69 62  ssleay32.lib lib
b090: 65 61 79 33 32 2e 6c 69 62 20 75 73 65 72 33 32  eay32.lib user32
b0a0: 2e 6c 69 62 20 67 64 69 33 32 2e 6c 69 62 20 63  .lib gdi32.lib c
b0b0: 72 79 70 74 33 32 2e 6c 69 62 0a 21 69 66 20 22  rypt32.lib.!if "
b0c0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61  $(PLATFORM)"=="a
b0d0: 6d 64 36 34 22 20 7c 7c 20 22 24 28 50 4c 41 54  md64" || "$(PLAT
b0e0: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 21 6d  FORM)"=="x64".!m
b0f0: 65 73 73 61 67 65 20 55 73 69 6e 67 20 27 78 36  essage Using 'x6
b100: 34 27 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20  4' platform for 
b110: 4f 70 65 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47  OpenSSL....# BUG
b120: 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55  BUG (OpenSSL): U
b130: 73 69 6e 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68  sing "no-ssl*" h
b140: 65 72 65 20 62 72 65 61 6b 73 20 74 68 65 20 62  ere breaks the b
b150: 75 69 6c 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49  uild..# SSLCONFI
b160: 47 20 3d 20 56 43 2d 57 49 4e 36 34 41 20 6e 6f  G = VC-WIN64A no
b170: 2d 61 73 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d  -asm no-ssl2 no-
b180: 73 73 6c 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d  ssl3.SSLCONFIG =
b190: 20 56 43 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73   VC-WIN64A no-as
b1a0: 6d 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44  m.!if $(FOSSIL_D
b1b0: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30  YNAMIC_BUILD)!=0
b1c0: 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53  .SSLCONFIG = $(S
b1d0: 53 4c 43 4f 4e 46 49 47 29 20 73 68 61 72 65 64  SLCONFIG) shared
b1e0: 0a 21 65 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47  .!else.SSLCONFIG
b1f0: 20 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20   = $(SSLCONFIG) 
b200: 6e 6f 2d 73 68 61 72 65 64 0a 21 65 6e 64 69 66  no-shared.!endif
b210: 0a 53 53 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c  .SSLSETUP  = ms\
b220: 64 6f 5f 77 69 6e 36 34 61 2e 62 61 74 0a 21 69  do_win64a.bat.!i
b230: 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d  f $(FOSSIL_DYNAM
b240: 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c  IC_BUILD)!=0.SSL
b250: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c  NMAKE  = ms\ntdl
b260: 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a  l.mak all.!else.
b270: 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e  SSLNMAKE  = ms\n
b280: 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66  t.mak all.!endif
b290: 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e 53  .# BUGBUG (OpenS
b2a0: 53 4c 29 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e  SL): Using "OPEN
b2b0: 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72  SSL_NO_SSL*" her
b2c0: 65 20 62 72 65 61 6b 73 20 64 79 6e 61 6d 69 63  e breaks dynamic
b2d0: 20 62 75 69 6c 64 73 2e 0a 21 69 66 20 24 28 46   builds..!if $(F
b2e0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b2f0: 49 4c 44 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47  ILD)==0.SSLCFLAG
b300: 53 20 3d 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f  S = -DOPENSSL_NO
b310: 5f 53 53 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f  _SSL2 -DOPENSSL_
b320: 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21  NO_SSL3.!endif.!
b330: 65 6c 73 65 69 66 20 22 24 28 50 4c 41 54 46 4f  elseif "$(PLATFO
b340: 52 4d 29 22 3d 3d 22 69 61 36 34 22 0a 21 6d 65  RM)"=="ia64".!me
b350: 73 73 61 67 65 20 55 73 69 6e 67 20 27 69 61 36  ssage Using 'ia6
b360: 34 27 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20  4' platform for 
b370: 4f 70 65 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47  OpenSSL....# BUG
b380: 42 55 47 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55  BUG (OpenSSL): U
b390: 73 69 6e 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68  sing "no-ssl*" h
b3a0: 65 72 65 20 62 72 65 61 6b 73 20 74 68 65 20 62  ere breaks the b
b3b0: 75 69 6c 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49  uild..# SSLCONFI
b3c0: 47 20 3d 20 56 43 2d 57 49 4e 36 34 49 20 6e 6f  G = VC-WIN64I no
b3d0: 2d 61 73 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d  -asm no-ssl2 no-
b3e0: 73 73 6c 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d  ssl3.SSLCONFIG =
b3f0: 20 56 43 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73   VC-WIN64I no-as
b400: 6d 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44  m.!if $(FOSSIL_D
b410: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30  YNAMIC_BUILD)!=0
b420: 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53  .SSLCONFIG = $(S
b430: 53 4c 43 4f 4e 46 49 47 29 20 73 68 61 72 65 64  SLCONFIG) shared
b440: 0a 21 65 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47  .!else.SSLCONFIG
b450: 20 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20   = $(SSLCONFIG) 
b460: 6e 6f 2d 73 68 61 72 65 64 0a 21 65 6e 64 69 66  no-shared.!endif
b470: 0a 53 53 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c  .SSLSETUP  = ms\
b480: 64 6f 5f 77 69 6e 36 34 69 2e 62 61 74 0a 21 69  do_win64i.bat.!i
b490: 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d  f $(FOSSIL_DYNAM
b4a0: 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c  IC_BUILD)!=0.SSL
b4b0: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c  NMAKE  = ms\ntdl
b4c0: 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a  l.mak all.!else.
b4d0: 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e  SSLNMAKE  = ms\n
b4e0: 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66  t.mak all.!endif
b4f0: 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e 53  .# BUGBUG (OpenS
b500: 53 4c 29 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e  SL): Using "OPEN
b510: 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72  SSL_NO_SSL*" her
b520: 65 20 62 72 65 61 6b 73 20 64 79 6e 61 6d 69 63  e breaks dynamic
b530: 20 62 75 69 6c 64 73 2e 0a 21 69 66 20 24 28 46   builds..!if $(F
b540: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
b550: 49 4c 44 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47  ILD)==0.SSLCFLAG
b560: 53 20 3d 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f  S = -DOPENSSL_NO
b570: 5f 53 53 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f  _SSL2 -DOPENSSL_
b580: 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21  NO_SSL3.!endif.!
b590: 65 6c 73 65 0a 21 6d 65 73 73 61 67 65 20 41 73  else.!message As
b5a0: 73 75 6d 69 6e 67 20 27 78 38 36 27 20 70 6c 61  suming 'x86' pla
b5b0: 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53  tform for OpenSS
b5c0: 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47 20 28 4f  L....# BUGBUG (O
b5d0: 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e 67 20 22  penSSL): Using "
b5e0: 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65 20 62 72  no-ssl*" here br
b5f0: 65 61 6b 73 20 74 68 65 20 62 75 69 6c 64 2e 0a  eaks the build..
b600: 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43  # SSLCONFIG = VC
b610: 2d 57 49 4e 33 32 20 6e 6f 2d 61 73 6d 20 6e 6f  -WIN32 no-asm no
b620: 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53  -ssl2 no-ssl3.SS
b630: 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e  LCONFIG = VC-WIN
b640: 33 32 20 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28  32 no-asm.!if $(
b650: 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42  FOSSIL_DYNAMIC_B
b660: 55 49 4c 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46  UILD)!=0.SSLCONF
b670: 49 47 20 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47  IG = $(SSLCONFIG
b680: 29 20 73 68 61 72 65 64 0a 21 65 6c 73 65 0a 53  ) shared.!else.S
b690: 53 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c  SLCONFIG = $(SSL
b6a0: 43 4f 4e 46 49 47 29 20 6e 6f 2d 73 68 61 72 65  CONFIG) no-share
b6b0: 64 0a 21 65 6e 64 69 66 0a 53 53 4c 53 45 54 55  d.!endif.SSLSETU
b6c0: 50 20 20 3d 20 6d 73 5c 64 6f 5f 6d 73 2e 62 61  P  = ms\do_ms.ba
b6d0: 74 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44  t.!if $(FOSSIL_D
b6e0: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30  YNAMIC_BUILD)!=0
b6f0: 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c  .SSLNMAKE  = ms\
b700: 6e 74 64 6c 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65  ntdll.mak all.!e
b710: 6c 73 65 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20  lse.SSLNMAKE  = 
b720: 6d 73 5c 6e 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65  ms\nt.mak all.!e
b730: 6e 64 69 66 0a 23 20 42 55 47 42 55 47 20 28 4f  ndif.# BUGBUG (O
b740: 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e 67 20 22  penSSL): Using "
b750: 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22  OPENSSL_NO_SSL*"
b760: 20 68 65 72 65 20 62 72 65 61 6b 73 20 64 79 6e   here breaks dyn
b770: 61 6d 69 63 20 62 75 69 6c 64 73 2e 0a 21 69 66  amic builds..!if
b780: 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49   $(FOSSIL_DYNAMI
b790: 43 5f 42 55 49 4c 44 29 3d 3d 30 0a 53 53 4c 43  C_BUILD)==0.SSLC
b7a0: 46 4c 41 47 53 20 3d 20 2d 44 4f 50 45 4e 53 53  FLAGS = -DOPENSS
b7b0: 4c 5f 4e 4f 5f 53 53 4c 32 20 2d 44 4f 50 45 4e  L_NO_SSL2 -DOPEN
b7c0: 53 53 4c 5f 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64  SSL_NO_SSL3.!end
b7d0: 69 66 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66  if.!endif.!endif
b7e0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45  ..!if $(FOSSIL_E
b7f0: 4e 41 42 4c 45 5f 54 43 4c 29 21 3d 30 0a 54 43  NABLE_TCL)!=0.TC
b800: 4c 44 49 52 20 20 20 20 3d 20 24 28 42 29 5c 63  LDIR    = $(B)\c
b810: 6f 6d 70 61 74 5c 74 63 6c 2d 38 2e 36 0a 54 43  ompat\tcl-8.6.TC
b820: 4c 53 52 43 44 49 52 20 3d 20 24 28 54 43 4c 44  LSRCDIR = $(TCLD
b830: 49 52 29 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20  IR).TCLINCDIR = 
b840: 24 28 54 43 4c 53 52 43 44 49 52 29 5c 67 65 6e  $(TCLSRCDIR)\gen
b850: 65 72 69 63 0a 21 65 6e 64 69 66 0a 0a 23 20 7a  eric.!endif..# z
b860: 6c 69 62 20 6f 70 74 69 6f 6e 73 0a 5a 49 4e 43  lib options.ZINC
b870: 44 49 52 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d  DIR   = $(B)\com
b880: 70 61 74 5c 7a 6c 69 62 0a 5a 4c 49 42 44 49 52  pat\zlib.ZLIBDIR
b890: 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74     = $(B)\compat
b8a0: 5c 7a 6c 69 62 0a 0a 21 69 66 20 24 28 46 4f 53  \zlib..!if $(FOS
b8b0: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
b8c0: 44 29 21 3d 30 0a 5a 4c 49 42 20 20 20 20 20 20  D)!=0.ZLIB      
b8d0: 3d 20 7a 64 6c 6c 2e 6c 69 62 0a 21 65 6c 73 65  = zdll.lib.!else
b8e0: 0a 5a 4c 49 42 20 20 20 20 20 20 3d 20 7a 6c 69  .ZLIB      = zli
b8f0: 62 2e 6c 69 62 0a 21 65 6e 64 69 66 0a 0a 49 4e  b.lib.!endif..IN
b900: 43 4c 20 20 20 20 20 20 3d 20 2f 49 2e 20 2f 49  CL      = /I. /I
b910: 24 28 53 52 43 44 49 52 29 20 2f 49 24 42 5c 77  $(SRCDIR) /I$B\w
b920: 69 6e 5c 69 6e 63 6c 75 64 65 0a 0a 21 69 66 20  in\include..!if 
b930: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
b940: 4d 49 4e 49 5a 29 3d 3d 30 0a 49 4e 43 4c 20 20  MINIZ)==0.INCL  
b950: 20 20 20 20 3d 20 24 28 49 4e 43 4c 29 20 2f 49      = $(INCL) /I
b960: 24 28 5a 49 4e 43 44 49 52 29 0a 21 65 6e 64 69  $(ZINCDIR).!endi
b970: 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  f..!if $(FOSSIL_
b980: 45 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 49  ENABLE_SSL)!=0.I
b990: 4e 43 4c 20 20 20 20 20 20 3d 20 24 28 49 4e 43  NCL      = $(INC
b9a0: 4c 29 20 2f 49 24 28 53 53 4c 49 4e 43 44 49 52  L) /I$(SSLINCDIR
b9b0: 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  ).!endif..!if $(
b9c0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
b9d0: 4c 29 21 3d 30 0a 49 4e 43 4c 20 20 20 20 20 20  L)!=0.INCL      
b9e0: 3d 20 24 28 49 4e 43 4c 29 20 2f 49 24 28 54 43  = $(INCL) /I$(TC
b9f0: 4c 49 4e 43 44 49 52 29 0a 21 65 6e 64 69 66 0a  LINCDIR).!endif.
ba00: 0a 43 46 4c 41 47 53 20 20 20 20 3d 20 2f 6e 6f  .CFLAGS    = /no
ba10: 6c 6f 67 6f 0a 4c 44 46 4c 41 47 53 20 20 20 3d  logo.LDFLAGS   =
ba20: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44  ..!if $(FOSSIL_D
ba30: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30  YNAMIC_BUILD)!=0
ba40: 0a 4c 44 46 4c 41 47 53 20 20 20 3d 20 24 28 4c  .LDFLAGS   = $(L
ba50: 44 46 4c 41 47 53 29 20 2f 4d 41 4e 49 46 45 53  DFLAGS) /MANIFES
ba60: 54 0a 21 65 6c 73 65 0a 4c 44 46 4c 41 47 53 20  T.!else.LDFLAGS 
ba70: 20 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 2f    = $(LDFLAGS) /
ba80: 4e 4f 44 45 46 41 55 4c 54 4c 49 42 3a 6d 73 76  NODEFAULTLIB:msv
ba90: 63 72 74 20 2f 4d 41 4e 49 46 45 53 54 3a 4e 4f  crt /MANIFEST:NO
baa0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
bab0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e  OSSIL_ENABLE_WIN
bac0: 58 50 29 21 3d 30 0a 58 50 43 46 4c 41 47 53 20  XP)!=0.XPCFLAGS 
bad0: 20 3d 20 24 28 58 50 43 46 4c 41 47 53 29 20 2f   = $(XPCFLAGS) /
bae0: 44 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 3d 30 78  D_WIN32_WINNT=0x
baf0: 30 35 30 31 20 2f 44 5f 55 53 49 4e 47 5f 56 31  0501 /D_USING_V1
bb00: 31 30 5f 53 44 4b 37 31 5f 3d 31 0a 43 46 4c 41  10_SDK71_=1.CFLA
bb10: 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 47 53  GS    = $(CFLAGS
bb20: 29 20 24 28 58 50 43 46 4c 41 47 53 29 0a 21 69  ) $(XPCFLAGS).!i
bb30: 66 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d  f "$(PLATFORM)"=
bb40: 3d 22 61 6d 64 36 34 22 20 7c 7c 20 22 24 28 50  ="amd64" || "$(P
bb50: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22  LATFORM)"=="x64"
bb60: 0a 58 50 4c 44 46 4c 41 47 53 20 3d 20 24 28 58  .XPLDFLAGS = $(X
bb70: 50 4c 44 46 4c 41 47 53 29 20 2f 53 55 42 53 59  PLDFLAGS) /SUBSY
bb80: 53 54 45 4d 3a 43 4f 4e 53 4f 4c 45 2c 35 2e 30  STEM:CONSOLE,5.0
bb90: 32 0a 21 65 6c 73 65 0a 58 50 4c 44 46 4c 41 47  2.!else.XPLDFLAG
bba0: 53 20 3d 20 24 28 58 50 4c 44 46 4c 41 47 53 29  S = $(XPLDFLAGS)
bbb0: 20 2f 53 55 42 53 59 53 54 45 4d 3a 43 4f 4e 53   /SUBSYSTEM:CONS
bbc0: 4f 4c 45 2c 35 2e 30 31 0a 21 65 6e 64 69 66 0a  OLE,5.01.!endif.
bbd0: 4c 44 46 4c 41 47 53 20 20 20 3d 20 24 28 4c 44  LDFLAGS   = $(LD
bbe0: 46 4c 41 47 53 29 20 24 28 58 50 4c 44 46 4c 41  FLAGS) $(XPLDFLA
bbf0: 47 53 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  GS).!endif..!if 
bc00: 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43  $(FOSSIL_DYNAMIC
bc10: 5f 42 55 49 4c 44 29 21 3d 30 0a 21 69 66 20 24  _BUILD)!=0.!if $
bc20: 28 44 45 42 55 47 29 21 3d 30 0a 43 52 54 46 4c  (DEBUG)!=0.CRTFL
bc30: 41 47 53 20 3d 20 2f 4d 44 64 0a 21 65 6c 73 65  AGS = /MDd.!else
bc40: 0a 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d 44 0a  .CRTFLAGS = /MD.
bc50: 21 65 6e 64 69 66 0a 21 65 6c 73 65 0a 21 69 66  !endif.!else.!if
bc60: 20 24 28 44 45 42 55 47 29 21 3d 30 0a 43 52 54   $(DEBUG)!=0.CRT
bc70: 46 4c 41 47 53 20 3d 20 2f 4d 54 64 0a 21 65 6c  FLAGS = /MTd.!el
bc80: 73 65 0a 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d  se.CRTFLAGS = /M
bc90: 54 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a  T.!endif.!endif.
bca0: 0a 21 69 66 20 24 28 44 45 42 55 47 29 21 3d 30  .!if $(DEBUG)!=0
bcb0: 0a 43 46 4c 41 47 53 20 20 20 20 3d 20 24 28 43  .CFLAGS    = $(C
bcc0: 46 4c 41 47 53 29 20 2f 5a 69 20 24 28 43 52 54  FLAGS) /Zi $(CRT
bcd0: 46 4c 41 47 53 29 20 2f 4f 64 0a 4c 44 46 4c 41  FLAGS) /Od.LDFLA
bce0: 47 53 20 20 20 3d 20 24 28 4c 44 46 4c 41 47 53  GS   = $(LDFLAGS
bcf0: 29 20 2f 44 45 42 55 47 0a 21 65 6c 73 65 0a 43  ) /DEBUG.!else.C
bd00: 46 4c 41 47 53 20 20 20 20 3d 20 24 28 43 46 4c  FLAGS    = $(CFL
bd10: 41 47 53 29 20 24 28 43 52 54 46 4c 41 47 53 29  AGS) $(CRTFLAGS)
bd20: 20 2f 4f 32 0a 21 65 6e 64 69 66 0a 0a 42 43 43   /O2.!endif..BCC
bd30: 20 20 20 20 20 20 20 3d 20 24 28 43 43 29 20 24         = $(CC) $
bd40: 28 43 46 4c 41 47 53 29 0a 54 43 43 20 20 20 20  (CFLAGS).TCC    
bd50: 20 20 20 3d 20 24 28 43 43 29 20 2f 63 20 24 28     = $(CC) /c $(
bd60: 43 46 4c 41 47 53 29 20 24 28 4d 53 43 44 45 46  CFLAGS) $(MSCDEF
bd70: 29 20 24 28 49 4e 43 4c 29 0a 52 43 43 20 20 20  ) $(INCL).RCC   
bd80: 20 20 20 20 3d 20 24 28 52 43 29 20 2f 44 5f 57      = $(RC) /D_W
bd90: 49 4e 33 32 20 2f 44 5f 4d 53 43 5f 56 45 52 20  IN32 /D_MSC_VER 
bda0: 24 28 4d 53 43 44 45 46 29 20 24 28 49 4e 43 4c  $(MSCDEF) $(INCL
bdb0: 29 0a 4d 54 43 20 20 20 20 20 20 20 3d 20 6d 74  ).MTC       = mt
bdc0: 0a 4c 49 42 53 20 20 20 20 20 20 3d 20 77 73 32  .LIBS      = ws2
bdd0: 5f 33 32 2e 6c 69 62 20 61 64 76 61 70 69 33 32  _32.lib advapi32
bde0: 2e 6c 69 62 0a 4c 49 42 44 49 52 20 20 20 20 3d  .lib.LIBDIR    =
bdf0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 44  ..!if $(FOSSIL_D
be00: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30  YNAMIC_BUILD)!=0
be10: 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54  .TCC       = $(T
be20: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 44 59 4e  CC) /DFOSSIL_DYN
be30: 41 4d 49 43 5f 42 55 49 4c 44 3d 31 0a 52 43 43  AMIC_BUILD=1.RCC
be40: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
be50: 2f 44 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43  /DFOSSIL_DYNAMIC
be60: 5f 42 55 49 4c 44 3d 31 0a 21 65 6e 64 69 66 0a  _BUILD=1.!endif.
be70: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e  .!if $(FOSSIL_EN
be80: 41 42 4c 45 5f 4d 49 4e 49 5a 29 3d 3d 30 0a 4c  ABLE_MINIZ)==0.L
be90: 49 42 53 20 20 20 20 20 20 3d 20 24 28 4c 49 42  IBS      = $(LIB
bea0: 53 29 20 24 28 5a 4c 49 42 29 0a 4c 49 42 44 49  S) $(ZLIB).LIBDI
beb0: 52 20 20 20 20 3d 20 24 28 4c 49 42 44 49 52 29  R    = $(LIBDIR)
bec0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42   /LIBPATH:$(ZLIB
bed0: 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66  DIR).!endif..!if
bee0: 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   $(FOSSIL_ENABLE
bef0: 5f 4d 49 4e 49 5a 29 21 3d 30 0a 54 43 43 20 20  _MINIZ)!=0.TCC  
bf00: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D
bf10: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
bf20: 4e 49 5a 3d 31 0a 52 43 43 20 20 20 20 20 20 20  NIZ=1.RCC       
bf30: 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49  = $(RCC) /DFOSSI
bf40: 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31  L_ENABLE_MINIZ=1
bf50: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
bf60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f  OSSIL_ENABLE_JSO
bf70: 4e 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20  N)!=0.TCC       
bf80: 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49  = $(TCC) /DFOSSI
bf90: 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31 0a  L_ENABLE_JSON=1.
bfa0: 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 43  RCC       = $(RC
bfb0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
bfc0: 4c 45 5f 4a 53 4f 4e 3d 31 0a 21 65 6e 64 69 66  LE_JSON=1.!endif
bfd0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45  ..!if $(FOSSIL_E
bfe0: 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 54 43  NABLE_SSL)!=0.TC
bff0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC)
c000: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   /DFOSSIL_ENABLE
c010: 5f 53 53 4c 3d 31 0a 52 43 43 20 20 20 20 20 20  _SSL=1.RCC      
c020: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS
c030: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a  IL_ENABLE_SSL=1.
c040: 4c 49 42 53 20 20 20 20 20 20 3d 20 24 28 4c 49  LIBS      = $(LI
c050: 42 53 29 20 24 28 53 53 4c 4c 49 42 29 0a 4c 49  BS) $(SSLLIB).LI
c060: 42 44 49 52 20 20 20 20 3d 20 24 28 4c 49 42 44  BDIR    = $(LIBD
c070: 49 52 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 53  IR) /LIBPATH:$(S
c080: 53 4c 4c 49 42 44 49 52 29 0a 21 65 6e 64 69 66  SLLIBDIR).!endif
c090: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45  ..!if $(FOSSIL_E
c0a0: 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50  NABLE_EXEC_REL_P
c0b0: 41 54 48 53 29 21 3d 30 0a 54 43 43 20 20 20 20  ATHS)!=0.TCC    
c0c0: 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f     = $(TCC) /DFO
c0d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43  SSIL_ENABLE_EXEC
c0e0: 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43  _REL_PATHS=1.RCC
c0f0: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) 
c100: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
c110: 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 3d 31  EXEC_REL_PATHS=1
c120: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
c130: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47  OSSIL_ENABLE_LEG
c140: 41 43 59 5f 4d 56 5f 52 4d 29 21 3d 30 0a 54 43  ACY_MV_RM)!=0.TC
c150: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC)
c160: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45   /DFOSSIL_ENABLE
c170: 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a  _LEGACY_MV_RM=1.
c180: 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 43  RCC       = $(RC
c190: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c1a0: 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d  LE_LEGACY_MV_RM=
c1b0: 31 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28  1.!endif..!if $(
c1c0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
c1d0: 31 5f 44 4f 43 53 29 21 3d 30 0a 54 43 43 20 20  1_DOCS)!=0.TCC  
c1e0: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D
c1f0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
c200: 31 5f 44 4f 43 53 3d 31 0a 52 43 43 20 20 20 20  1_DOCS=1.RCC    
c210: 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f     = $(RCC) /DFO
c220: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f  SSIL_ENABLE_TH1_
c230: 44 4f 43 53 3d 31 0a 21 65 6e 64 69 66 0a 0a 21  DOCS=1.!endif..!
c240: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB
c250: 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 29 21 3d 30  LE_TH1_HOOKS)!=0
c260: 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54  .TCC       = $(T
c270: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41  CC) /DFOSSIL_ENA
c280: 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a  BLE_TH1_HOOKS=1.
c290: 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 43  RCC       = $(RC
c2a0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c2b0: 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 21  LE_TH1_HOOKS=1.!
c2c0: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS
c2d0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21  SIL_ENABLE_TCL)!
c2e0: 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24  =0.TCC       = $
c2f0: 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (TCC) /DFOSSIL_E
c300: 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a 52 43 43 20  NABLE_TCL=1.RCC 
c310: 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f        = $(RCC) /
c320: 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54  DFOSSIL_ENABLE_T
c330: 43 4c 3d 31 0a 54 43 43 20 20 20 20 20 20 20 3d  CL=1.TCC       =
c340: 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c   $(TCC) /DFOSSIL
c350: 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42  _ENABLE_TCL_STUB
c360: 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20  S=1.RCC       = 
c370: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f  $(RCC) /DFOSSIL_
c380: 45 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53  ENABLE_TCL_STUBS
c390: 3d 31 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24  =1.TCC       = $
c3a0: 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (TCC) /DFOSSIL_E
c3b0: 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54  NABLE_TCL_PRIVAT
c3c0: 45 5f 53 54 55 42 53 3d 31 0a 52 43 43 20 20 20  E_STUBS=1.RCC   
c3d0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46      = $(RCC) /DF
c3e0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
c3f0: 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 3d 31  _PRIVATE_STUBS=1
c400: 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54  .TCC       = $(T
c410: 43 43 29 20 2f 44 55 53 45 5f 54 43 4c 5f 53 54  CC) /DUSE_TCL_ST
c420: 55 42 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20  UBS=1.RCC       
c430: 3d 20 24 28 52 43 43 29 20 2f 44 55 53 45 5f 54  = $(RCC) /DUSE_T
c440: 43 4c 5f 53 54 55 42 53 3d 31 0a 21 65 6e 64 69  CL_STUBS=1.!endi
c450: 66 0a 0a 21 69 66 20 24 28 55 53 45 5f 53 45 45  f..!if $(USE_SEE
c460: 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d  )!=0.TCC       =
c470: 20 24 28 54 43 43 29 20 2f 44 55 53 45 5f 53 45   $(TCC) /DUSE_SE
c480: 45 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20  E=1.RCC       = 
c490: 24 28 52 43 43 29 20 2f 44 55 53 45 5f 53 45 45  $(RCC) /DUSE_SEE
c4a0: 3d 31 0a 21 65 6e 64 69 66 0a 7d 0a 72 65 67 73  =1.!endif.}.regs
c4b0: 75 62 20 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b  ub -all {[-]D} [
c4c0: 6a 6f 69 6e 20 24 53 51 4c 49 54 45 5f 57 49 4e  join $SQLITE_WIN
c4d0: 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20  32_OPTIONS { }] 
c4e0: 7b 2f 44 7d 20 4d 53 43 5f 53 51 4c 49 54 45 5f  {/D} MSC_SQLITE_
c4f0: 4f 50 54 49 4f 4e 53 0a 73 65 74 20 6a 20 22 20  OPTIONS.set j " 
c500: 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20  \\\n            
c510: 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22       ".writeln "
c520: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d  SQLITE_OPTIONS =
c530: 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 53 51 4c 49   [join $MSC_SQLI
c540: 54 45 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e  TE_OPTIONS $j]\n
c550: 22 0a 0a 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b  "..regsub -all {
c560: 5b 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 53 48 45  [-]D} [join $SHE
c570: 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53  LL_WIN32_OPTIONS
c580: 20 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 53   { }] {/D} MSC_S
c590: 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 0a 73 65 74  HELL_OPTIONS.set
c5a0: 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20   j " \\\n       
c5b0: 20 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65           ".write
c5c0: 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e  ln "SHELL_OPTION
c5d0: 53 20 3d 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 53  S = [join $MSC_S
c5e0: 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d  HELL_OPTIONS $j]
c5f0: 5c 6e 22 0a 0a 72 65 67 73 75 62 20 2d 61 6c 6c  \n"..regsub -all
c600: 20 7b 5b 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 4d   {[-]D} [join $M
c610: 49 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f  INIZ_WIN32_OPTIO
c620: 4e 53 20 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43  NS { }] {/D} MSC
c630: 5f 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 0a 73  _MINIZ_OPTIONS.s
c640: 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20  et j " \\\n     
c650: 20 20 20 20 20 20 20 20 20 20 20 22 0a 77 72 69             ".wri
c660: 74 65 6c 6e 20 22 4d 49 4e 49 5a 5f 4f 50 54 49  teln "MINIZ_OPTI
c670: 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 4d 53 43  ONS = [join $MSC
c680: 5f 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 24  _MINIZ_OPTIONS $
c690: 6a 5d 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 2d  j]\n"..writeln -
c6a0: 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43 20 20  nonewline "SRC  
c6b0: 20 3d 20 22 0a 73 65 74 20 69 20 30 0a 66 6f 72   = ".set i 0.for
c6c0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
c6d0: 72 63 5d 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e  rc] {.  if {$i >
c6e0: 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 74 65 6c   0} {.    writel
c6f0: 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 72 69 74  n " \\".    writ
c700: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
c710: 20 20 20 20 20 20 20 20 22 0a 20 20 7d 0a 20 20          ".  }.  
c720: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
c730: 6e 65 20 22 24 7b 73 7d 5f 2e 63 22 3b 20 69 6e  ne "${s}_.c"; in
c740: 63 72 20 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22  cr i.}.writeln "
c750: 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  \n".writeln -non
c760: 65 77 6c 69 6e 65 20 22 45 58 54 52 41 5f 46 49  ewline "EXTRA_FI
c770: 4c 45 53 20 20 20 3d 20 22 0a 73 65 74 20 69 20  LES   = ".set i 
c780: 30 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  0.foreach s [lso
c790: 72 74 20 24 65 78 74 72 61 5f 66 69 6c 65 73 5d  rt $extra_files]
c7a0: 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d   {.  if {$i > 0}
c7b0: 20 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22   {.    writeln "
c7c0: 20 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e   \\".    writeln
c7d0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20   -nonewline "   
c7e0: 20 20 20 20 20 22 0a 20 20 7d 0a 20 20 77 72 69       ".  }.  wri
c7f0: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
c800: 22 5c 24 28 53 52 43 44 49 52 29 5c 5c 24 7b 73  "\$(SRCDIR)\\${s
c810: 7d 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69  }"; incr i.}.wri
c820: 74 65 6c 6e 20 22 5c 6e 22 0a 73 65 74 20 41 64  teln "\n".set Ad
c830: 64 69 74 69 6f 6e 61 6c 4f 62 6a 20 5b 6c 69 73  ditionalObj [lis
c840: 74 20 73 68 65 6c 6c 20 73 71 6c 69 74 65 33 20  t shell sqlite3 
c850: 74 68 20 74 68 5f 6c 61 6e 67 20 74 68 5f 74 63  th th_lang th_tc
c860: 6c 20 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74  l cson_amalgamat
c870: 69 6f 6e 5d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f  ion].writeln -no
c880: 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d  newline "OBJ   =
c890: 20 22 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61   ".set i 0.forea
c8a0: 63 68 20 73 20 5b 6c 73 6f 72 74 20 5b 63 6f 6e  ch s [lsort [con
c8b0: 63 61 74 20 24 73 72 63 20 24 41 64 64 69 74 69  cat $src $Additi
c8c0: 6f 6e 61 6c 4f 62 6a 5d 5d 20 7b 0a 20 20 69 66  onalObj]] {.  if
c8d0: 20 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20   {$i > 0} {.    
c8e0: 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20  writeln " \\".  
c8f0: 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77    writeln -nonew
c900: 6c 69 6e 65 20 22 20 20 20 20 20 20 20 20 22 0a  line "        ".
c910: 20 20 7d 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e    }.  writeln -n
c920: 6f 6e 65 77 6c 69 6e 65 20 22 5c 24 28 4f 58 29  onewline "\$(OX)
c930: 5c 5c 24 73 5c 24 4f 22 3b 20 69 6e 63 72 20 69  \\$s\$O"; incr i
c940: 0a 7d 0a 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b  .}.if {$i > 0} {
c950: 0a 20 20 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22  .  writeln " \\"
c960: 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 21 69 66 20  .}.writeln "!if 
c970: 5c 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  \$(FOSSIL_ENABLE
c980: 5f 4d 49 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74  _MINIZ)!=0".writ
c990: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
c9a0: 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c          ".writel
c9b0: 6e 20 22 5c 24 28 4f 58 29 5c 5c 6d 69 6e 69 7a  n "\$(OX)\\miniz
c9c0: 5c 24 4f 20 5c 5c 22 3b 20 69 6e 63 72 20 69 0a  \$O \\"; incr i.
c9d0: 77 72 69 74 65 6c 6e 20 22 21 65 6e 64 69 66 22  writeln "!endif"
c9e0: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
c9f0: 69 6e 65 20 22 20 20 20 20 20 20 20 20 5c 24 28  ine "        \$(
ca00: 4f 58 29 5c 5c 66 6f 73 73 69 6c 2e 72 65 73 5c  OX)\\fossil.res\
ca10: 6e 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 5b 73 74  n\n".writeln [st
ca20: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c  ring map [list <
ca30: 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c  <<NEXT_LINE>>> \
ca40: 5c 5d 20 7b 0a 41 50 50 4e 41 4d 45 20 20 20 20  \] {.APPNAME    
ca50: 3d 20 24 28 4f 58 29 5c 66 6f 73 73 69 6c 24 28  = $(OX)\fossil$(
ca60: 45 29 0a 50 44 42 4e 41 4d 45 20 20 20 20 3d 20  E).PDBNAME    = 
ca70: 24 28 4f 58 29 5c 66 6f 73 73 69 6c 24 28 50 29  $(OX)\fossil$(P)
ca80: 0a 41 50 50 54 41 52 47 45 54 53 20 3d 0a 0a 61  .APPTARGETS =..a
ca90: 6c 6c 3a 20 24 28 4f 58 29 20 24 28 41 50 50 4e  ll: $(OX) $(APPN
caa0: 41 4d 45 29 0a 0a 7a 6c 69 62 3a 0a 09 40 65 63  AME)..zlib:..@ec
cab0: 68 6f 20 42 75 69 6c 64 69 6e 67 20 7a 6c 69 62  ho Building zlib
cac0: 20 66 72 6f 6d 20 22 24 28 5a 4c 49 42 44 49 52   from "$(ZLIBDIR
cad0: 29 22 2e 2e 2e 0a 21 69 66 20 24 28 46 4f 53 53  )"....!if $(FOSS
cae0: 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29  IL_ENABLE_WINXP)
caf0: 21 3d 30 0a 09 40 70 75 73 68 64 20 22 24 28 5a  !=0..@pushd "$(Z
cb00: 4c 49 42 44 49 52 29 22 20 26 26 20 24 28 4d 41  LIBDIR)" && $(MA
cb10: 4b 45 29 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b  KE) /f win32\Mak
cb20: 65 66 69 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42  efile.msc $(ZLIB
cb30: 29 20 22 43 43 3d 63 6c 20 24 28 58 50 43 46 4c  ) "CC=cl $(XPCFL
cb40: 41 47 53 29 22 20 22 4c 44 3d 6c 69 6e 6b 20 24  AGS)" "LD=link $
cb50: 28 58 50 4c 44 46 4c 41 47 53 29 22 20 26 26 20  (XPLDFLAGS)" && 
cb60: 70 6f 70 64 0a 21 65 6c 73 65 0a 09 40 70 75 73  popd.!else..@pus
cb70: 68 64 20 22 24 28 5a 4c 49 42 44 49 52 29 22 20  hd "$(ZLIBDIR)" 
cb80: 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 20 77 69  && $(MAKE) /f wi
cb90: 6e 33 32 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63  n32\Makefile.msc
cba0: 20 24 28 5a 4c 49 42 29 20 26 26 20 70 6f 70 64   $(ZLIB) && popd
cbb0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46  .!endif..!if $(F
cbc0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
cbd0: 29 21 3d 30 0a 6f 70 65 6e 73 73 6c 3a 0a 09 40  )!=0.openssl:..@
cbe0: 65 63 68 6f 20 42 75 69 6c 64 69 6e 67 20 4f 70  echo Building Op
cbf0: 65 6e 53 53 4c 20 66 72 6f 6d 20 22 24 28 53 53  enSSL from "$(SS
cc00: 4c 44 49 52 29 22 2e 2e 2e 0a 21 69 66 20 22 24  LDIR)"....!if "$
cc10: 28 50 45 52 4c 44 49 52 29 22 20 21 3d 20 22 22  (PERLDIR)" != ""
cc20: 0a 09 40 73 65 74 20 50 41 54 48 3d 24 28 50 45  ..@set PATH=$(PE
cc30: 52 4c 44 49 52 29 3b 24 28 50 41 54 48 29 0a 21  RLDIR);$(PATH).!
cc40: 65 6e 64 69 66 0a 09 40 70 75 73 68 64 20 22 24  endif..@pushd "$
cc50: 28 53 53 4c 44 49 52 29 22 20 26 26 20 24 28 50  (SSLDIR)" && $(P
cc60: 45 52 4c 29 20 43 6f 6e 66 69 67 75 72 65 20 24  ERL) Configure $
cc70: 28 53 53 4c 43 4f 4e 46 49 47 29 20 26 26 20 70  (SSLCONFIG) && p
cc80: 6f 70 64 0a 09 40 70 75 73 68 64 20 22 24 28 53  opd..@pushd "$(S
cc90: 53 4c 44 49 52 29 22 20 26 26 20 63 61 6c 6c 20  SLDIR)" && call 
cca0: 24 28 53 53 4c 53 45 54 55 50 29 20 26 26 20 70  $(SSLSETUP) && p
ccb0: 6f 70 64 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  opd.!if $(FOSSIL
ccc0: 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d  _ENABLE_WINXP)!=
ccd0: 30 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 4c  0..@pushd "$(SSL
cce0: 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45 29  DIR)" && $(MAKE)
ccf0: 20 2f 66 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20   /f $(SSLNMAKE) 
cd00: 22 43 43 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41  "CC=cl $(SSLCFLA
cd10: 47 53 29 20 24 28 58 50 43 46 4c 41 47 53 29 22  GS) $(XPCFLAGS)"
cd20: 20 22 4c 46 4c 41 47 53 3d 24 28 53 53 4c 4c 46   "LFLAGS=$(SSLLF
cd30: 4c 41 47 53 29 20 24 28 58 50 4c 44 46 4c 41 47  LAGS) $(XPLDFLAG
cd40: 53 29 22 20 26 26 20 70 6f 70 64 0a 21 65 6c 73  S)" && popd.!els
cd50: 65 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 4c  e..@pushd "$(SSL
cd60: 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45 29  DIR)" && $(MAKE)
cd70: 20 2f 66 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20   /f $(SSLNMAKE) 
cd80: 22 43 43 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41  "CC=cl $(SSLCFLA
cd90: 47 53 29 22 20 26 26 20 70 6f 70 64 0a 21 65 6e  GS)" && popd.!en
cda0: 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  dif.!endif..!if 
cdb0: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_
cdc0: 4d 49 4e 49 5a 29 3d 3d 30 0a 21 69 66 20 24 28  MINIZ)==0.!if $(
cdd0: 46 4f 53 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49  FOSSIL_BUILD_ZLI
cde0: 42 29 21 3d 30 0a 41 50 50 54 41 52 47 45 54 53  B)!=0.APPTARGETS
cdf0: 20 3d 20 24 28 41 50 50 54 41 52 47 45 54 53 29   = $(APPTARGETS)
ce00: 20 7a 6c 69 62 0a 21 65 6e 64 69 66 0a 21 65 6e   zlib.!endif.!en
ce10: 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49  dif..!if $(FOSSI
ce20: 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30  L_ENABLE_SSL)!=0
ce30: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 42 55  .!if $(FOSSIL_BU
ce40: 49 4c 44 5f 53 53 4c 29 21 3d 30 0a 41 50 50 54  ILD_SSL)!=0.APPT
ce50: 41 52 47 45 54 53 20 3d 20 24 28 41 50 50 54 41  ARGETS = $(APPTA
ce60: 52 47 45 54 53 29 20 6f 70 65 6e 73 73 6c 0a 21  RGETS) openssl.!
ce70: 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 24 28  endif.!endif..$(
ce80: 41 50 50 4e 41 4d 45 29 20 3a 20 24 28 41 50 50  APPNAME) : $(APP
ce90: 54 41 52 47 45 54 53 29 20 74 72 61 6e 73 6c 61  TARGETS) transla
cea0: 74 65 24 45 20 6d 6b 69 6e 64 65 78 24 45 20 63  te$E mkindex$E c
ceb0: 6f 64 65 63 68 65 63 6b 31 24 45 20 68 65 61 64  odecheck1$E head
cec0: 65 72 73 20 24 28 4f 42 4a 29 20 24 28 4f 58 29  ers $(OBJ) $(OX)
ced0: 5c 6c 69 6e 6b 6f 70 74 73 0a 09 63 64 20 24 28  \linkopts..cd $(
cee0: 4f 58 29 0a 09 63 6f 64 65 63 68 65 63 6b 31 24  OX)..codecheck1$
cef0: 45 20 24 28 53 52 43 29 0a 09 6c 69 6e 6b 20 24  E $(SRC)..link $
cf00: 28 4c 44 46 4c 41 47 53 29 20 2f 4f 55 54 3a 24  (LDFLAGS) /OUT:$
cf10: 40 20 24 28 4c 49 42 44 49 52 29 20 57 73 65 74  @ $(LIBDIR) Wset
cf20: 61 72 67 76 2e 6f 62 6a 20 66 6f 73 73 69 6c 2e  argv.obj fossil.
cf30: 72 65 73 20 40 6c 69 6e 6b 6f 70 74 73 0a 09 69  res @linkopts..i
cf40: 66 20 65 78 69 73 74 20 24 40 2e 6d 61 6e 69 66  f exist $@.manif
cf50: 65 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  est <<<NEXT_LINE
cf60: 3e 3e 3e 0a 09 09 24 28 4d 54 43 29 20 2d 6e 6f  >>>...$(MTC) -no
cf70: 6c 6f 67 6f 20 2d 6d 61 6e 69 66 65 73 74 20 24  logo -manifest $
cf80: 40 2e 6d 61 6e 69 66 65 73 74 20 2d 6f 75 74 70  @.manifest -outp
cf90: 75 74 72 65 73 6f 75 72 63 65 3a 24 40 3b 31 0a  utresource:$@;1.
cfa0: 0a 24 28 4f 58 29 5c 6c 69 6e 6b 6f 70 74 73 3a  .$(OX)\linkopts:
cfb0: 20 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65   $B\win\Makefile
cfc0: 2e 6d 73 63 7d 5d 0a 73 65 74 20 72 65 64 69 72  .msc}].set redir
cfd0: 20 7b 3e 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b   {>}.foreach s [
cfe0: 6c 73 6f 72 74 20 5b 63 6f 6e 63 61 74 20 24 73  lsort [concat $s
cff0: 72 63 20 24 41 64 64 69 74 69 6f 6e 61 6c 4f 62  rc $AdditionalOb
d000: 6a 5d 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  j]] {.  writeln 
d010: 22 5c 74 65 63 68 6f 20 5c 24 28 4f 58 29 5c 5c  "\techo \$(OX)\\
d020: 24 73 2e 6f 62 6a 20 24 72 65 64 69 72 20 5c 24  $s.obj $redir \$
d030: 40 22 0a 20 20 73 65 74 20 72 65 64 69 72 20 7b  @".  set redir {
d040: 3e 3e 7d 0a 7d 0a 73 65 74 20 72 65 64 69 72 20  >>}.}.set redir 
d050: 7b 3e 3e 7d 0a 77 72 69 74 65 6c 6e 20 22 21 69  {>>}.writeln "!i
d060: 66 20 5c 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  f \$(FOSSIL_ENAB
d070: 4c 45 5f 4d 49 4e 49 5a 29 21 3d 30 22 0a 77 72  LE_MINIZ)!=0".wr
d080: 69 74 65 6c 6e 20 22 5c 74 65 63 68 6f 20 5c 24  iteln "\techo \$
d090: 28 4f 58 29 5c 5c 6d 69 6e 69 7a 2e 6f 62 6a 20  (OX)\\miniz.obj 
d0a0: 24 72 65 64 69 72 20 5c 24 40 22 0a 77 72 69 74  $redir \$@".writ
d0b0: 65 6c 6e 20 22 21 65 6e 64 69 66 22 0a 77 72 69  eln "!endif".wri
d0c0: 74 65 6c 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28  teln "\techo \$(
d0d0: 4c 49 42 53 29 20 24 72 65 64 69 72 20 5c 24 40  LIBS) $redir \$@
d0e0: 22 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 4f 58  ".writeln {.$(OX
d0f0: 29 3a 0a 09 40 2d 6d 6b 64 69 72 20 24 40 0a 0a  ):..@-mkdir $@..
d100: 74 72 61 6e 73 6c 61 74 65 24 45 3a 20 24 28 53  translate$E: $(S
d110: 52 43 44 49 52 29 5c 74 72 61 6e 73 6c 61 74 65  RCDIR)\translate
d120: 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a  .c..$(BCC) $**..
d130: 6d 61 6b 65 68 65 61 64 65 72 73 24 45 3a 20 24  makeheaders$E: $
d140: 28 53 52 43 44 49 52 29 5c 6d 61 6b 65 68 65 61  (SRCDIR)\makehea
d150: 64 65 72 73 2e 63 0a 09 24 28 42 43 43 29 20 24  ders.c..$(BCC) $
d160: 2a 2a 0a 0a 6d 6b 69 6e 64 65 78 24 45 3a 20 24  **..mkindex$E: $
d170: 28 53 52 43 44 49 52 29 5c 6d 6b 69 6e 64 65 78  (SRCDIR)\mkindex
d180: 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a  .c..$(BCC) $**..
d190: 6d 6b 62 75 69 6c 74 69 6e 24 45 3a 20 24 28 53  mkbuiltin$E: $(S
d1a0: 52 43 44 49 52 29 5c 6d 6b 62 75 69 6c 74 69 6e  RCDIR)\mkbuiltin
d1b0: 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a  .c..$(BCC) $**..
d1c0: 6d 6b 76 65 72 73 69 6f 6e 24 45 3a 20 24 28 53  mkversion$E: $(S
d1d0: 52 43 44 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e  RCDIR)\mkversion
d1e0: 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a  .c..$(BCC) $**..
d1f0: 6d 6b 63 73 73 24 45 3a 20 24 28 53 52 43 44 49  mkcss$E: $(SRCDI
d200: 52 29 5c 6d 6b 63 73 73 2e 63 0a 09 24 28 42 43  R)\mkcss.c..$(BC
d210: 43 29 20 24 2a 2a 0a 0a 63 6f 64 65 63 68 65 63  C) $**..codechec
d220: 6b 31 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  k1$E: $(SRCDIR)\
d230: 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 09 24 28  codecheck1.c..$(
d240: 42 43 43 29 20 24 2a 2a 0a 0a 21 69 66 20 24 28  BCC) $**..!if $(
d250: 55 53 45 5f 53 45 45 29 21 3d 30 0a 53 45 45 5f  USE_SEE)!=0.SEE_
d260: 46 4c 41 47 53 20 3d 20 2f 44 53 51 4c 49 54 45  FLAGS = /DSQLITE
d270: 5f 48 41 53 5f 43 4f 44 45 43 3d 31 20 2f 44 53  _HAS_CODEC=1 /DS
d280: 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44 42 4b 45  QLITE_SHELL_DBKE
d290: 59 5f 50 52 4f 43 3d 66 6f 73 73 69 6c 5f 6b 65  Y_PROC=fossil_ke
d2a0: 79 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  y.SQLITE3_SHELL_
d2b0: 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c  SRC = $(SRCDIR)\
d2c0: 73 68 65 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49  shell-see.c.SQLI
d2d0: 54 45 33 5f 53 52 43 20 3d 20 24 28 53 52 43 44  TE3_SRC = $(SRCD
d2e0: 49 52 29 5c 73 71 6c 69 74 65 33 2d 73 65 65 2e  IR)\sqlite3-see.
d2f0: 63 0a 21 65 6c 73 65 0a 53 45 45 5f 46 4c 41 47  c.!else.SEE_FLAG
d300: 53 20 3d 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c  S =.SQLITE3_SHEL
d310: 4c 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52  L_SRC = $(SRCDIR
d320: 29 5c 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45  )\shell.c.SQLITE
d330: 33 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52  3_SRC = $(SRCDIR
d340: 29 5c 73 71 6c 69 74 65 33 2e 63 0a 21 65 6e 64  )\sqlite3.c.!end
d350: 69 66 0a 0a 24 28 4f 58 29 5c 73 68 65 6c 6c 24  if..$(OX)\shell$
d360: 4f 20 3a 20 24 28 53 51 4c 49 54 45 33 5f 53 48  O : $(SQLITE3_SH
d370: 45 4c 4c 5f 53 52 43 29 20 24 42 5c 77 69 6e 5c  ELL_SRC) $B\win\
d380: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 0a 09 24 28  Makefile.msc..$(
d390: 54 43 43 29 20 2f 46 6f 24 40 20 24 28 53 48 45  TCC) /Fo$@ $(SHE
d3a0: 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 51  LL_OPTIONS) $(SQ
d3b0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28  LITE_OPTIONS) $(
d3c0: 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29 20 24 28  SHELL_CFLAGS) $(
d3d0: 53 45 45 5f 46 4c 41 47 53 29 20 2d 63 20 24 28  SEE_FLAGS) -c $(
d3e0: 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52  SQLITE3_SHELL_SR
d3f0: 43 29 0a 0a 24 28 4f 58 29 5c 73 71 6c 69 74 65  C)..$(OX)\sqlite
d400: 33 24 4f 20 3a 20 24 28 53 51 4c 49 54 45 33 5f  3$O : $(SQLITE3_
d410: 53 52 43 29 20 24 42 5c 77 69 6e 5c 4d 61 6b 65  SRC) $B\win\Make
d420: 66 69 6c 65 2e 6d 73 63 0a 09 24 28 54 43 43 29  file.msc..$(TCC)
d430: 20 2f 46 6f 24 40 20 2d 63 20 24 28 53 51 4c 49   /Fo$@ -c $(SQLI
d440: 54 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 51  TE_OPTIONS) $(SQ
d450: 4c 49 54 45 5f 43 46 4c 41 47 53 29 20 24 28 53  LITE_CFLAGS) $(S
d460: 45 45 5f 46 4c 41 47 53 29 20 24 28 53 51 4c 49  EE_FLAGS) $(SQLI
d470: 54 45 33 5f 53 52 43 29 0a 0a 24 28 4f 58 29 5c  TE3_SRC)..$(OX)\
d480: 74 68 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  th$O : $(SRCDIR)
d490: 5c 74 68 2e 63 0a 09 24 28 54 43 43 29 20 2f 46  \th.c..$(TCC) /F
d4a0: 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58  o$@ -c $**..$(OX
d4b0: 29 5c 74 68 5f 6c 61 6e 67 24 4f 20 3a 20 24 28  )\th_lang$O : $(
d4c0: 53 52 43 44 49 52 29 5c 74 68 5f 6c 61 6e 67 2e  SRCDIR)\th_lang.
d4d0: 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20  c..$(TCC) /Fo$@ 
d4e0: 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68  -c $**..$(OX)\th
d4f0: 5f 74 63 6c 24 4f 20 3a 20 24 28 53 52 43 44 49  _tcl$O : $(SRCDI
d500: 52 29 5c 74 68 5f 74 63 6c 2e 63 0a 09 24 28 54  R)\th_tcl.c..$(T
d510: 43 43 29 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a  CC) /Fo$@ -c $**
d520: 0a 0a 24 28 4f 58 29 5c 6d 69 6e 69 7a 24 4f 20  ..$(OX)\miniz$O 
d530: 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 69 6e 69  : $(SRCDIR)\mini
d540: 7a 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24  z.c..$(TCC) /Fo$
d550: 40 20 2d 63 20 24 28 4d 49 4e 49 5a 5f 4f 50 54  @ -c $(MINIZ_OPT
d560: 49 4f 4e 53 29 20 24 28 53 52 43 44 49 52 29 5c  IONS) $(SRCDIR)\
d570: 6d 69 6e 69 7a 2e 63 0a 0a 56 45 52 53 49 4f 4e  miniz.c..VERSION
d580: 2e 68 20 3a 20 6d 6b 76 65 72 73 69 6f 6e 24 45  .h : mkversion$E
d590: 20 24 42 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69   $B\manifest.uui
d5a0: 64 20 24 42 5c 6d 61 6e 69 66 65 73 74 20 24 42  d $B\manifest $B
d5b0: 5c 56 45 52 53 49 4f 4e 0a 09 24 2a 2a 20 3e 20  \VERSION..$** > 
d5c0: 24 40 0a 0a 24 28 4f 58 29 5c 63 73 6f 6e 5f 61  $@..$(OX)\cson_a
d5d0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 24 4f 20 3a 20  malgamation$O : 
d5e0: 24 28 53 52 43 44 49 52 29 5c 63 73 6f 6e 5f 61  $(SRCDIR)\cson_a
d5f0: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 63 0a 09 24  malgamation.c..$
d600: 28 54 43 43 29 20 2f 46 6f 24 40 20 2f 63 20 24  (TCC) /Fo$@ /c $
d610: 2a 2a 0a 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e  **..default_css.
d620: 68 3a 20 6d 6b 63 73 73 24 45 20 24 28 53 52 43  h: mkcss$E $(SRC
d630: 44 49 52 29 5c 64 65 66 61 75 6c 74 5f 63 73 73  DIR)\default_css
d640: 2e 74 78 74 0a 09 24 2a 2a 20 24 40 0a 0a 70 61  .txt..$** $@..pa
d650: 67 65 5f 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e  ge_index.h: mkin
d660: 64 65 78 24 45 20 24 28 53 52 43 29 0a 09 24 2a  dex$E $(SRC)..$*
d670: 2a 20 3e 20 24 40 0a 0a 62 75 69 6c 74 69 6e 5f  * > $@..builtin_
d680: 64 61 74 61 2e 68 3a 09 6d 6b 62 75 69 6c 74 69  data.h:.mkbuilti
d690: 6e 24 45 20 24 28 45 58 54 52 41 5f 46 49 4c 45  n$E $(EXTRA_FILE
d6a0: 53 29 0a 09 6d 6b 62 75 69 6c 74 69 6e 24 45 20  S)..mkbuiltin$E 
d6b0: 2d 2d 70 72 65 66 69 78 20 24 28 53 52 43 44 49  --prefix $(SRCDI
d6c0: 52 29 2f 20 24 28 45 58 54 52 41 5f 46 49 4c 45  R)/ $(EXTRA_FILE
d6d0: 53 29 20 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a  S) > $@..clean:.
d6e0: 09 64 65 6c 20 24 28 4f 58 29 5c 2a 2e 6f 62 6a  .del $(OX)\*.obj
d6f0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6f 62   2>NUL..del *.ob
d700: 6a 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 5f 2e  j 2>NUL..del *_.
d710: 63 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 68  c 2>NUL..del *.h
d720: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 69 6c   2>NUL..del *.il
d730: 6b 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6d  k 2>NUL..del *.m
d740: 61 70 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e  ap 2>NUL..del *.
d750: 72 65 73 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 68  res 2>NUL..del h
d760: 65 61 64 65 72 73 20 32 3e 4e 55 4c 0a 09 64 65  eaders 2>NUL..de
d770: 6c 20 6c 69 6e 6b 6f 70 74 73 20 32 3e 4e 55 4c  l linkopts 2>NUL
d780: 0a 09 64 65 6c 20 76 63 2a 2e 70 64 62 20 32 3e  ..del vc*.pdb 2>
d790: 4e 55 4c 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a 20  NUL..realclean: 
d7a0: 63 6c 65 61 6e 0a 09 64 65 6c 20 24 28 41 50 50  clean..del $(APP
d7b0: 4e 41 4d 45 29 20 32 3e 4e 55 4c 0a 09 64 65 6c  NAME) 2>NUL..del
d7c0: 20 24 28 50 44 42 4e 41 4d 45 29 20 32 3e 4e 55   $(PDBNAME) 2>NU
d7d0: 4c 0a 09 64 65 6c 20 74 72 61 6e 73 6c 61 74 65  L..del translate
d7e0: 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 74 72  $E 2>NUL..del tr
d7f0: 61 6e 73 6c 61 74 65 24 50 20 32 3e 4e 55 4c 0a  anslate$P 2>NUL.
d800: 09 64 65 6c 20 6d 6b 69 6e 64 65 78 24 45 20 32  .del mkindex$E 2
d810: 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 69 6e 64 65  >NUL..del mkinde
d820: 78 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d  x$P 2>NUL..del m
d830: 61 6b 65 68 65 61 64 65 72 73 24 45 20 32 3e 4e  akeheaders$E 2>N
d840: 55 4c 0a 09 64 65 6c 20 6d 61 6b 65 68 65 61 64  UL..del makehead
d850: 65 72 73 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c  ers$P 2>NUL..del
d860: 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 32 3e 4e   mkversion$E 2>N
d870: 55 4c 0a 09 64 65 6c 20 6d 6b 76 65 72 73 69 6f  UL..del mkversio
d880: 6e 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d  n$P 2>NUL..del m
d890: 6b 63 73 73 24 45 20 32 3e 4e 55 4c 0a 09 64 65  kcss$E 2>NUL..de
d8a0: 6c 20 6d 6b 63 73 73 24 50 20 32 3e 4e 55 4c 0a  l mkcss$P 2>NUL.
d8b0: 09 64 65 6c 20 63 6f 64 65 63 68 65 63 6b 31 24  .del codecheck1$
d8c0: 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 63 6f 64  E 2>NUL..del cod
d8d0: 65 63 68 65 63 6b 31 24 50 20 32 3e 4e 55 4c 0a  echeck1$P 2>NUL.
d8e0: 09 64 65 6c 20 6d 6b 62 75 69 6c 74 69 6e 24 45  .del mkbuiltin$E
d8f0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 62 75   2>NUL..del mkbu
d900: 69 6c 74 69 6e 24 50 20 32 3e 4e 55 4c 0a 0a 24  iltin$P 2>NUL..$
d910: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 24 4f 20  (OBJDIR)\json$O 
d920: 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e  : $(SRCDIR)\json
d930: 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44  _detail.h.$(OBJD
d940: 49 52 29 5c 6a 73 6f 6e 5f 61 72 74 69 66 61 63  IR)\json_artifac
d950: 74 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  t$O : $(SRCDIR)\
d960: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28  json_detail.h.$(
d970: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 62 72 61  OBJDIR)\json_bra
d980: 6e 63 68 24 4f 20 3a 20 24 28 53 52 43 44 49 52  nch$O : $(SRCDIR
d990: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
d9a0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 63  $(OBJDIR)\json_c
d9b0: 6f 6e 66 69 67 24 4f 20 3a 20 24 28 53 52 43 44  onfig$O : $(SRCD
d9c0: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
d9d0: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
d9e0: 5f 64 69 66 66 24 4f 20 3a 20 24 28 53 52 43 44  _diff$O : $(SRCD
d9f0: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
da00: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
da10: 5f 64 69 72 24 4f 20 3a 20 24 28 53 52 43 44 49  _dir$O : $(SRCDI
da20: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
da30: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_
da40: 66 69 6e 66 6f 24 4f 20 3a 20 24 28 53 52 43 44  finfo$O : $(SRCD
da50: 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e  IR)\json_detail.
da60: 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e  h.$(OBJDIR)\json
da70: 5f 6c 6f 67 69 6e 24 4f 20 3a 20 24 28 53 52 43  _login$O : $(SRC
da80: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c  DIR)\json_detail
da90: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f  .h.$(OBJDIR)\jso
daa0: 6e 5f 71 75 65 72 79 24 4f 20 3a 20 24 28 53 52  n_query$O : $(SR
dab0: 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69  CDIR)\json_detai
dac0: 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73  l.h.$(OBJDIR)\js
dad0: 6f 6e 5f 72 65 70 6f 72 74 24 4f 20 3a 20 24 28  on_report$O : $(
dae0: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74  SRCDIR)\json_det
daf0: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c  ail.h.$(OBJDIR)\
db00: 6a 73 6f 6e 5f 73 74 61 74 75 73 24 4f 20 3a 20  json_status$O : 
db10: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d
db20: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR
db30: 29 5c 6a 73 6f 6e 5f 74 61 67 24 4f 20 3a 20 24  )\json_tag$O : $
db40: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
db50: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR)
db60: 5c 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65 24 4f  \json_timeline$O
db70: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
db80: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
db90: 44 49 52 29 5c 6a 73 6f 6e 5f 75 73 65 72 24 4f  DIR)\json_user$O
dba0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
dbb0: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a  n_detail.h.$(OBJ
dbc0: 44 49 52 29 5c 6a 73 6f 6e 5f 77 69 6b 69 24 4f  DIR)\json_wiki$O
dbd0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso
dbe0: 6e 5f 64 65 74 61 69 6c 2e 68 0a 7d 0a 66 6f 72  n_detail.h.}.for
dbf0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
dc00: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
dc10: 22 5c 24 28 4f 58 29 5c 5c 24 73 5c 24 4f 20 3a  "\$(OX)\\$s\$O :
dc20: 20 24 7b 73 7d 5f 2e 63 20 24 7b 73 7d 2e 68 22   ${s}_.c ${s}.h"
dc30: 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  .  writeln "\t\$
dc40: 28 54 43 43 29 20 2f 46 6f 5c 24 40 20 2d 63 20  (TCC) /Fo\$@ -c 
dc50: 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69  ${s}_.c\n".  wri
dc60: 74 65 6c 6e 20 22 24 7b 73 7d 5f 2e 63 20 3a 20  teln "${s}_.c : 
dc70: 5c 24 28 53 52 43 44 49 52 29 5c 5c 24 73 2e 63  \$(SRCDIR)\\$s.c
dc80: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 74  ".  writeln "\tt
dc90: 72 61 6e 73 6c 61 74 65 5c 24 45 20 5c 24 2a 2a  ranslate\$E \$**
dca0: 20 3e 20 5c 24 40 5c 6e 22 0a 7d 0a 0a 77 72 69   > \$@\n".}..wri
dcb0: 74 65 6c 6e 20 22 66 6f 73 73 69 6c 2e 72 65 73  teln "fossil.res
dcc0: 20 3a 20 5c 24 42 5c 5c 77 69 6e 5c 5c 66 6f 73   : \$B\\win\\fos
dcd0: 73 69 6c 2e 72 63 22 0a 77 72 69 74 65 6c 6e 20  sil.rc".writeln 
dce0: 22 5c 74 5c 24 28 52 43 43 29 20 20 2f 66 6f 20  "\t\$(RCC)  /fo 
dcf0: 5c 24 40 20 5c 24 2a 2a 5c 6e 22 0a 0a 77 72 69  \$@ \$**\n"..wri
dd00: 74 65 6c 6e 20 22 68 65 61 64 65 72 73 3a 20 6d  teln "headers: m
dd10: 61 6b 65 68 65 61 64 65 72 73 5c 24 45 20 70 61  akeheaders\$E pa
dd20: 67 65 5f 69 6e 64 65 78 2e 68 20 62 75 69 6c 74  ge_index.h built
dd30: 69 6e 5f 64 61 74 61 2e 68 20 64 65 66 61 75 6c  in_data.h defaul
dd40: 74 5f 63 73 73 2e 68 20 56 45 52 53 49 4f 4e 2e  t_css.h VERSION.
dd50: 68 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  h".writeln -none
dd60: 77 6c 69 6e 65 20 22 5c 74 6d 61 6b 65 68 65 61  wline "\tmakehea
dd70: 64 65 72 73 5c 24 45 20 22 0a 73 65 74 20 69 20  ders\$E ".set i 
dd80: 30 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  0.foreach s [lso
dd90: 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 69 66 20  rt $src] {.  if 
dda0: 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77  {$i > 0} {.    w
ddb0: 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20  riteln " \\".   
ddc0: 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c   writeln -nonewl
ddd0: 69 6e 65 20 22 5c 74 5c 74 5c 74 22 0a 20 20 7d  ine "\t\t\t".  }
dde0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  .  writeln -none
ddf0: 77 6c 69 6e 65 20 22 24 7b 73 7d 5f 2e 63 3a 24  wline "${s}_.c:$
de00: 73 2e 68 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77  s.h"; incr i.}.w
de10: 72 69 74 65 6c 6e 20 22 20 5c 5c 5c 6e 5c 74 5c  riteln " \\\n\t\
de20: 74 5c 74 5c 24 28 53 52 43 44 49 52 29 5c 5c 73  t\t\$(SRCDIR)\\s
de30: 71 6c 69 74 65 33 2e 68 20 5c 5c 22 0a 77 72 69  qlite3.h \\".wri
de40: 74 65 6c 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53  teln "\t\t\t\$(S
de50: 52 43 44 49 52 29 5c 5c 74 68 2e 68 20 5c 5c 22  RCDIR)\\th.h \\"
de60: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 74 5c 74  .writeln "\t\t\t
de70: 56 45 52 53 49 4f 4e 2e 68 20 5c 5c 22 0a 77 72  VERSION.h \\".wr
de80: 69 74 65 6c 6e 20 22 5c 74 5c 74 5c 74 5c 24 28  iteln "\t\t\t\$(
de90: 53 52 43 44 49 52 29 5c 5c 63 73 6f 6e 5f 61 6d  SRCDIR)\\cson_am
dea0: 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 22 0a 77 72  algamation.h".wr
deb0: 69 74 65 6c 6e 20 22 5c 74 40 63 6f 70 79 20 2f  iteln "\t@copy /
dec0: 59 20 6e 75 6c 3a 20 68 65 61 64 65 72 73 22 0a  Y nul: headers".
ded0: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f  ..close $output_
dee0: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20  file.#.# End of 
def0: 74 68 65 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65  the win/Makefile
df00: 2e 6d 73 63 20 6f 75 74 70 75 74 0a 23 23 23 23  .msc output.####
df10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df50: 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23  ##########.#####
df60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
df90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
dfa0: 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 23  #########.######
dfb0: 23 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 0a 23 20 42 65 67 69 6e  ########.# Begin
e000: 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 50 65   win/Makefile.Pe
e010: 6c 6c 65 73 43 47 4d 61 6b 65 20 6f 75 74 70 75  llesCGMake outpu
e020: 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64 69  t.#.puts "buildi
e030: 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69  ng ../win/Makefi
e040: 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65 22  le.PellesCGMake"
e050: 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 6c 65  .set output_file
e060: 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61   [open ../win/Ma
e070: 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d  kefile.PellesCGM
e080: 61 6b 65 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72  ake w].fconfigur
e090: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d  e $output_file -
e0a0: 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61  translation bina
e0b0: 72 79 0a 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72  ry..writeln [str
e0c0: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 5c 0a  ing map [list \.
e0d0: 20 20 20 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50      <<<SQLITE_OP
e0e0: 54 49 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24  TIONS>>> [join $
e0f0: 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54  SQLITE_WIN32_OPT
e100: 49 4f 4e 53 20 7b 20 7d 5d 20 5c 0a 20 20 20 20  IONS { }] \.    
e110: 3c 3c 3c 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53  <<<SHELL_OPTIONS
e120: 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c  >>> [join $SHELL
e130: 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b  _WIN32_OPTIONS {
e140: 20 7d 5d 5d 20 7b 23 0a 23 23 23 23 23 23 23 23   }]] {#.########
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 0a 23 20 57 41 52 4e 49 4e 47  ######.# WARNING
e1a0: 3a 20 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41  : DO NOT EDIT, A
e1b0: 55 54 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e  UTOMATICALLY GEN
e1c0: 45 52 41 54 45 44 20 46 49 4c 45 20 28 53 45 45  ERATED FILE (SEE
e1d0: 20 22 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74   "src/makemake.t
e1e0: 63 6c 22 29 0a 23 23 23 23 23 23 23 23 23 23 23  cl").###########
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 0a 23 0a 23 20 54 68 69 73 20 66 69 6c  ###.#.# This fil
e240: 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c  e is automatical
e250: 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 20 49  ly generated.  I
e260: 6e 73 74 65 61 64 20 6f 66 20 65 64 69 74 69 6e  nstead of editin
e270: 67 20 74 68 69 73 0a 23 20 66 69 6c 65 2c 20 65  g this.# file, e
e280: 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63  dit "makemake.tc
e290: 6c 22 20 74 68 65 6e 20 72 75 6e 20 22 74 63 6c  l" then run "tcl
e2a0: 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  sh makemake.tcl"
e2b0: 0a 23 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65  .# to regenerate
e2c0: 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 0a 23 20   this file..#.# 
e2d0: 48 6f 77 54 6f 0a 23 20 2d 2d 2d 2d 2d 0a 23 0a  HowTo.# -----.#.
e2e0: 23 20 54 68 69 73 20 69 73 20 61 20 4d 61 6b 65  # This is a Make
e2f0: 66 69 6c 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20  file to compile 
e300: 66 6f 73 73 69 6c 20 77 69 74 68 20 50 65 6c 6c  fossil with Pell
e310: 65 73 43 20 66 72 6f 6d 0a 23 20 20 68 74 74 70  esC from.#  http
e320: 3a 2f 2f 77 77 77 2e 73 6d 6f 72 67 61 73 62 6f  ://www.smorgasbo
e330: 72 64 65 74 2e 63 6f 6d 2f 70 65 6c 6c 65 73 63  rdet.com/pellesc
e340: 2f 69 6e 64 65 78 2e 68 74 6d 0a 23 20 49 6e 20  /index.htm.# In 
e350: 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20  addition to the 
e360: 43 6f 6d 70 69 6c 65 72 20 65 6e 76 72 69 6f 6e  Compiler envrion
e370: 6d 65 6e 74 2c 20 79 6f 75 20 6e 65 65 64 0a 23  ment, you need.#
e380: 20 20 67 6d 61 6b 65 20 66 72 6f 6d 20 68 74 74    gmake from htt
e390: 70 3a 2f 2f 73 6f 75 72 63 65 66 6f 72 67 65 2e  p://sourceforge.
e3a0: 6e 65 74 2f 70 72 6f 6a 65 63 74 73 2f 75 6e 78  net/projects/unx
e3b0: 75 74 69 6c 73 2f 2c 20 50 65 6c 6c 65 73 20 6d  utils/, Pelles m
e3c0: 61 6b 65 20 76 65 72 73 69 6f 6e 0a 23 20 20 20  ake version.#   
e3d0: 20 20 20 20 20 63 6f 75 6c 64 6e 27 74 20 68 61       couldn't ha
e3e0: 6e 64 6c 65 20 74 68 65 20 63 6f 6d 70 6c 65 78  ndle the complex
e3f0: 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 69 6e   dependencies in
e400: 20 74 68 69 73 20 62 75 69 6c 64 0a 23 20 20 7a   this build.#  z
e410: 6c 69 62 20 73 6f 75 72 63 65 73 0a 23 20 54 68  lib sources.# Th
e420: 65 6e 20 79 6f 75 20 64 6f 0a 23 20 31 2e 20 63  en you do.# 1. c
e430: 72 65 61 74 65 20 61 20 64 69 72 65 63 74 6f 72  reate a director
e440: 79 20 50 65 6c 6c 65 73 43 20 69 6e 20 74 68 65  y PellesC in the
e450: 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69   project root di
e460: 72 65 63 74 6f 72 79 0a 23 20 32 2e 20 43 68 61  rectory.# 2. Cha
e470: 6e 67 65 20 74 68 65 20 76 61 72 69 61 62 6c 65  nge the variable
e480: 73 20 50 65 6c 6c 65 73 43 44 69 72 2f 5a 4c 49  s PellesCDir/ZLI
e490: 42 53 52 43 44 49 52 20 74 6f 20 74 68 65 20 70  BSRCDIR to the p
e4a0: 61 74 68 20 6f 66 20 79 6f 75 72 20 69 6e 73 74  ath of your inst
e4b0: 61 6c 6c 61 74 69 6f 6e 0a 23 20 33 2e 20 6f 70  allation.# 3. op
e4c0: 65 6e 20 61 20 64 6f 73 20 70 72 6f 6d 70 74 20  en a dos prompt 
e4d0: 77 69 6e 64 6f 77 20 61 6e 64 20 63 68 61 6e 67  window and chang
e4e0: 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74  e working direct
e4f0: 6f 72 79 20 69 6e 74 6f 20 50 65 6c 6c 65 73 43  ory into PellesC
e500: 20 28 73 74 65 70 20 31 29 0a 23 20 34 2e 20 72   (step 1).# 4. r
e510: 75 6e 20 67 6d 61 6b 65 20 2d 66 20 2e 2e 5c 77  un gmake -f ..\w
e520: 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c  in\Makefile.Pell
e530: 65 73 43 47 4d 61 6b 65 0a 23 0a 23 20 74 68 69  esCGMake.#.# thi
e540: 73 20 66 69 6c 65 20 69 73 20 74 65 73 74 65 64  s file is tested
e550: 20 77 69 74 68 0a 23 20 20 20 50 65 6c 6c 65 73   with.#   Pelles
e560: 43 20 20 20 20 20 20 20 20 20 35 2e 30 30 2e 31  C         5.00.1
e570: 33 0a 23 20 20 20 67 6d 61 6b 65 20 20 20 20 20  3.#   gmake     
e580: 20 20 20 20 20 20 33 2e 38 30 0a 23 20 20 20 7a        3.80.#   z
e590: 6c 69 62 20 73 6f 75 72 63 65 73 20 20 20 20 31  lib sources    1
e5a0: 2e 32 2e 35 0a 23 20 20 20 57 69 6e 64 6f 77 73  .2.5.#   Windows
e5b0: 20 58 50 20 53 50 20 32 0a 23 20 61 6e 64 0a 23   XP SP 2.# and.#
e5c0: 20 20 20 50 65 6c 6c 65 73 43 20 20 20 20 20 20     PellesC      
e5d0: 20 20 20 36 2e 30 30 2e 34 0a 23 20 20 20 67 6d     6.00.4.#   gm
e5e0: 61 6b 65 20 20 20 20 20 20 20 20 20 20 20 33 2e  ake           3.
e5f0: 38 30 0a 23 20 20 20 7a 6c 69 62 20 73 6f 75 72  80.#   zlib sour
e600: 63 65 73 20 20 20 20 31 2e 32 2e 35 0a 23 20 20  ces    1.2.5.#  
e610: 20 57 69 6e 64 6f 77 73 20 37 20 48 6f 6d 65 20   Windows 7 Home 
e620: 50 72 65 6d 69 75 6d 0a 23 0a 0a 23 0a 50 65 6c  Premium.#..#.Pel
e630: 6c 65 73 43 44 69 72 3d 63 3a 5c 50 72 6f 67 72  lesCDir=c:\Progr
e640: 61 6d 6d 65 5c 50 65 6c 6c 65 73 43 0a 0a 23 20  amme\PellesC..# 
e650: 53 65 6c 65 63 74 20 62 65 74 77 65 65 6e 20 33  Select between 3
e660: 32 2f 36 34 20 62 69 74 20 63 6f 64 65 2c 20 64  2/64 bit code, d
e670: 65 66 61 75 6c 74 20 69 73 20 33 32 20 62 69 74  efault is 32 bit
e680: 0a 23 54 41 52 47 45 54 56 45 52 53 49 4f 4e 3d  .#TARGETVERSION=
e690: 36 34 0a 0a 69 66 65 71 20 28 24 28 54 41 52 47  64..ifeq ($(TARG
e6a0: 45 54 56 45 52 53 49 4f 4e 29 2c 36 34 29 0a 23  ETVERSION),64).#
e6b0: 20 36 34 20 62 69 74 20 76 65 72 73 69 6f 6e 0a   64 bit version.
e6c0: 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 43 43  TARGETMACHINE_CC
e6d0: 3d 61 6d 64 36 34 0a 54 41 52 47 45 54 4d 41 43  =amd64.TARGETMAC
e6e0: 48 49 4e 45 5f 4c 4e 3d 61 6d 64 36 34 0a 54 41  HINE_LN=amd64.TA
e6f0: 52 47 45 54 45 58 54 45 4e 44 3d 36 34 0a 65 6c  RGETEXTEND=64.el
e700: 73 65 0a 23 20 33 32 20 62 69 74 20 76 65 72 73  se.# 32 bit vers
e710: 69 6f 6e 0a 54 41 52 47 45 54 4d 41 43 48 49 4e  ion.TARGETMACHIN
e720: 45 5f 43 43 3d 78 38 36 0a 54 41 52 47 45 54 4d  E_CC=x86.TARGETM
e730: 41 43 48 49 4e 45 5f 4c 4e 3d 69 78 38 36 0a 54  ACHINE_LN=ix86.T
e740: 41 52 47 45 54 45 58 54 45 4e 44 3d 0a 65 6e 64  ARGETEXTEND=.end
e750: 69 66 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65  if..# define the
e760: 20 70 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f   project directo
e770: 72 69 65 73 0a 42 3d 2e 2e 0a 53 52 43 44 49 52  ries.B=...SRCDIR
e780: 3d 24 28 42 29 2f 73 72 63 2f 0a 57 49 4e 44 49  =$(B)/src/.WINDI
e790: 52 3d 24 28 42 29 2f 77 69 6e 2f 0a 5a 4c 49 42  R=$(B)/win/.ZLIB
e7a0: 53 52 43 44 49 52 3d 2e 2e 2f 2e 2e 2f 7a 6c 69  SRCDIR=../../zli
e7b0: 62 2f 0a 0a 23 20 64 65 66 69 6e 65 20 6c 69 6e  b/..# define lin
e7c0: 6b 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20  ker command and 
e7d0: 6f 70 74 69 6f 6e 73 0a 4c 49 4e 4b 3d 24 28 50  options.LINK=$(P
e7e0: 65 6c 6c 65 73 43 44 69 72 29 2f 62 69 6e 2f 70  ellesCDir)/bin/p
e7f0: 6f 6c 69 6e 6b 2e 65 78 65 0a 4c 49 4e 4b 46 4c  olink.exe.LINKFL
e800: 41 47 53 3d 2d 73 75 62 73 79 73 74 65 6d 3a 63  AGS=-subsystem:c
e810: 6f 6e 73 6f 6c 65 20 2d 6d 61 63 68 69 6e 65 3a  onsole -machine:
e820: 24 28 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f  $(TARGETMACHINE_
e830: 4c 4e 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 50  LN) /LIBPATH:$(P
e840: 65 6c 6c 65 73 43 44 69 72 29 5c 6c 69 62 5c 77  ellesCDir)\lib\w
e850: 69 6e 24 28 54 41 52 47 45 54 45 58 54 45 4e 44  in$(TARGETEXTEND
e860: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 50 65 6c  ) /LIBPATH:$(Pel
e870: 6c 65 73 43 44 69 72 29 5c 6c 69 62 20 6b 65 72  lesCDir)\lib ker
e880: 6e 65 6c 33 32 2e 6c 69 62 20 61 64 76 61 70 69  nel32.lib advapi
e890: 33 32 2e 6c 69 62 20 64 65 6c 61 79 69 6d 70 24  32.lib delayimp$
e8a0: 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 2e 6c  (TARGETEXTEND).l
e8b0: 69 62 20 57 73 6f 63 6b 33 32 2e 6c 69 62 20 43  ib Wsock32.lib C
e8c0: 72 74 6d 74 24 28 54 41 52 47 45 54 45 58 54 45  rtmt$(TARGETEXTE
e8d0: 4e 44 29 2e 6c 69 62 0a 0a 23 20 64 65 66 69 6e  ND).lib..# defin
e8e0: 65 20 73 74 61 6e 64 61 72 64 20 43 2d 63 6f 6d  e standard C-com
e8f0: 70 69 6c 65 72 20 61 6e 64 20 66 6c 61 67 73 2c  piler and flags,
e900: 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65   used to compile
e910: 0a 23 20 74 68 65 20 66 6f 73 73 69 6c 20 62 69  .# the fossil bi
e920: 6e 61 72 79 2e 20 53 6f 6d 65 20 73 70 65 63 69  nary. Some speci
e930: 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66  al definitions f
e940: 6f 6c 6c 6f 77 20 66 6f 72 0a 23 20 73 70 65 63  ollow for.# spec
e950: 69 61 6c 20 66 69 6c 65 73 20 66 6f 6c 6c 6f 77  ial files follow
e960: 0a 43 43 3d 24 28 50 65 6c 6c 65 73 43 44 69 72  .CC=$(PellesCDir
e970: 29 5c 62 69 6e 5c 70 6f 63 63 2e 65 78 65 0a 44  )\bin\pocc.exe.D
e980: 45 46 49 4e 45 53 3d 2d 44 5f 70 67 6d 70 74 72  EFINES=-D_pgmptr
e990: 3d 67 2e 61 72 67 76 5b 30 5d 0a 43 43 46 4c 41  =g.argv[0].CCFLA
e9a0: 47 53 3d 2d 54 24 28 54 41 52 47 45 54 4d 41 43  GS=-T$(TARGETMAC
e9b0: 48 49 4e 45 5f 43 43 29 2d 63 6f 66 66 20 2d 4f  HINE_CC)-coff -O
e9c0: 74 20 2d 57 32 20 2d 47 64 20 2d 47 6f 20 2d 5a  t -W2 -Gd -Go -Z
e9d0: 65 20 2d 4d 54 20 24 28 44 45 46 49 4e 45 53 29  e -MT $(DEFINES)
e9e0: 0a 49 4e 43 4c 55 44 45 3d 2f 49 20 24 28 50 65  .INCLUDE=/I $(Pe
e9f0: 6c 6c 65 73 43 44 69 72 29 5c 49 6e 63 6c 75 64  llesCDir)\Includ
ea00: 65 5c 57 69 6e 20 2f 49 20 24 28 50 65 6c 6c 65  e\Win /I $(Pelle
ea10: 73 43 44 69 72 29 5c 49 6e 63 6c 75 64 65 20 2f  sCDir)\Include /
ea20: 49 20 24 28 5a 4c 49 42 53 52 43 44 49 52 29 20  I $(ZLIBSRCDIR) 
ea30: 2f 49 20 24 28 53 52 43 44 49 52 29 0a 0a 23 20  /I $(SRCDIR)..# 
ea40: 64 65 66 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20  define commands 
ea50: 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65  for building the
ea60: 20 77 69 6e 64 6f 77 73 20 72 65 73 6f 75 72 63   windows resourc
ea70: 65 20 66 69 6c 65 73 0a 52 45 53 4f 55 52 43 45  e files.RESOURCE
ea80: 3d 66 6f 73 73 69 6c 2e 72 65 73 0a 52 43 3d 24  =fossil.res.RC=$
ea90: 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 62 69 6e  (PellesCDir)\bin
eaa0: 5c 70 6f 72 63 2e 65 78 65 0a 52 43 46 4c 41 47  \porc.exe.RCFLAG
eab0: 53 3d 24 28 49 4e 43 4c 55 44 45 29 20 2d 44 5f  S=$(INCLUDE) -D_
eac0: 5f 50 4f 43 43 5f 5f 3d 31 20 2d 44 5f 4d 5f 58  _POCC__=1 -D_M_X
ead0: 24 28 54 41 52 47 45 54 56 45 52 53 49 4f 4e 29  $(TARGETVERSION)
eae0: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 73  ..# define the s
eaf0: 70 65 63 69 61 6c 20 75 74 69 6c 69 74 69 65 73  pecial utilities
eb00: 20 66 69 6c 65 73 2c 20 6e 65 65 64 65 64 20 74   files, needed t
eb10: 6f 20 67 65 6e 65 72 61 74 65 0a 23 20 74 68 65  o generate.# the
eb20: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67   automatically g
eb30: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
eb40: 66 69 6c 65 73 0a 55 54 49 4c 53 3d 74 72 61 6e  files.UTILS=tran
eb50: 73 6c 61 74 65 2e 65 78 65 20 6d 6b 69 6e 64 65  slate.exe mkinde
eb60: 78 2e 65 78 65 20 6d 61 6b 65 68 65 61 64 65 72  x.exe makeheader
eb70: 73 2e 65 78 65 20 6d 6b 62 75 69 6c 74 69 6e 2e  s.exe mkbuiltin.
eb80: 65 78 65 0a 55 54 49 4c 53 5f 4f 42 4a 3d 24 28  exe.UTILS_OBJ=$(
eb90: 55 54 49 4c 53 3a 2e 65 78 65 3d 2e 6f 62 6a 29  UTILS:.exe=.obj)
eba0: 0a 55 54 49 4c 53 5f 53 52 43 3d 24 28 66 6f 72  .UTILS_SRC=$(for
ebb0: 65 61 63 68 20 75 66 2c 24 28 55 54 49 4c 53 29  each uf,$(UTILS)
ebc0: 2c 24 28 53 52 43 44 49 52 29 24 28 75 66 3a 2e  ,$(SRCDIR)$(uf:.
ebd0: 65 78 65 3d 2e 63 29 29 0a 0a 23 20 64 65 66 69  exe=.c))..# defi
ebe0: 6e 65 20 74 68 65 20 53 51 4c 69 74 65 20 66 69  ne the SQLite fi
ebf0: 6c 65 73 2c 20 77 68 69 63 68 20 6e 65 65 64 20  les, which need 
ec00: 73 70 65 63 69 61 6c 20 66 6c 61 67 73 20 6f 6e  special flags on
ec10: 20 63 6f 6d 70 69 6c 65 0a 53 51 4c 49 54 45 53   compile.SQLITES
ec20: 52 43 3d 73 71 6c 69 74 65 33 2e 63 0a 4f 52 49  RC=sqlite3.c.ORI
ec30: 47 53 51 4c 49 54 45 53 52 43 3d 24 28 66 6f 72  GSQLITESRC=$(for
ec40: 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49 54 45  each sf,$(SQLITE
ec50: 53 52 43 29 2c 24 28 53 52 43 44 49 52 29 24 28  SRC),$(SRCDIR)$(
ec60: 73 66 29 29 0a 53 51 4c 49 54 45 4f 42 4a 3d 24  sf)).SQLITEOBJ=$
ec70: 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 53 51  (foreach sf,$(SQ
ec80: 4c 49 54 45 53 52 43 29 2c 24 28 73 66 3a 2e 63  LITESRC),$(sf:.c
ec90: 3d 2e 6f 62 6a 29 29 0a 53 51 4c 49 54 45 44 45  =.obj)).SQLITEDE
eca0: 46 49 4e 45 53 3d 3c 3c 3c 53 51 4c 49 54 45 5f  FINES=<<<SQLITE_
ecb0: 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65  OPTIONS>>>..# de
ecc0: 66 69 6e 65 20 74 68 65 20 53 51 4c 69 74 65 20  fine the SQLite 
ecd0: 73 68 65 6c 6c 20 66 69 6c 65 73 2c 20 77 68 69  shell files, whi
ece0: 63 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20  ch need special 
ecf0: 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65  flags on compile
ed00: 0a 53 51 4c 49 54 45 53 48 45 4c 4c 53 52 43 3d  .SQLITESHELLSRC=
ed10: 73 68 65 6c 6c 2e 63 0a 4f 52 49 47 53 51 4c 49  shell.c.ORIGSQLI
ed20: 54 45 53 48 45 4c 4c 53 52 43 3d 24 28 66 6f 72  TESHELLSRC=$(for
ed30: 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49 54 45  each sf,$(SQLITE
ed40: 53 48 45 4c 4c 53 52 43 29 2c 24 28 53 52 43 44  SHELLSRC),$(SRCD
ed50: 49 52 29 24 28 73 66 29 29 0a 53 51 4c 49 54 45  IR)$(sf)).SQLITE
ed60: 53 48 45 4c 4c 4f 42 4a 3d 24 28 66 6f 72 65 61  SHELLOBJ=$(forea
ed70: 63 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48  ch sf,$(SQLITESH
ed80: 45 4c 4c 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d  ELLSRC),$(sf:.c=
ed90: 2e 6f 62 6a 29 29 0a 53 51 4c 49 54 45 53 48 45  .obj)).SQLITESHE
eda0: 4c 4c 44 45 46 49 4e 45 53 3d 3c 3c 3c 53 48 45  LLDEFINES=<<<SHE
edb0: 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23  LL_OPTIONS>>>..#
edc0: 20 64 65 66 69 6e 65 20 74 68 65 20 74 68 20 73   define the th s
edd0: 63 72 69 70 74 69 6e 67 20 66 69 6c 65 73 2c 20  cripting files, 
ede0: 77 68 69 63 68 20 6e 65 65 64 20 73 70 65 63 69  which need speci
edf0: 61 6c 20 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70  al flags on comp
ee00: 69 6c 65 0a 54 48 53 52 43 3d 74 68 2e 63 20 74  ile.THSRC=th.c t
ee10: 68 5f 6c 61 6e 67 2e 63 0a 4f 52 49 47 54 48 53  h_lang.c.ORIGTHS
ee20: 52 43 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c  RC=$(foreach sf,
ee30: 24 28 54 48 53 52 43 29 2c 24 28 53 52 43 44 49  $(THSRC),$(SRCDI
ee40: 52 29 24 28 73 66 29 29 0a 54 48 4f 42 4a 3d 24  R)$(sf)).THOBJ=$
ee50: 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 54 48  (foreach sf,$(TH
ee60: 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62  SRC),$(sf:.c=.ob
ee70: 6a 29 29 0a 0a 23 20 64 65 66 69 6e 65 20 74 68  j))..# define th
ee80: 65 20 7a 6c 69 62 20 66 69 6c 65 73 2c 20 6e 65  e zlib files, ne
ee90: 65 64 65 64 20 62 79 20 74 68 69 73 20 63 6f 6d  eded by this com
eea0: 70 69 6c 65 0a 5a 4c 49 42 53 52 43 3d 61 64 6c  pile.ZLIBSRC=adl
eeb0: 65 72 33 32 2e 63 20 63 6f 6d 70 72 65 73 73 2e  er32.c compress.
eec0: 63 20 63 72 63 33 32 2e 63 20 64 65 66 6c 61 74  c crc32.c deflat
eed0: 65 2e 63 20 67 7a 63 6c 6f 73 65 2e 63 20 67 7a  e.c gzclose.c gz
eee0: 6c 69 62 2e 63 20 67 7a 72 65 61 64 2e 63 20 67  lib.c gzread.c g
eef0: 7a 77 72 69 74 65 2e 63 20 69 6e 66 62 61 63 6b  zwrite.c infback
ef00: 2e 63 20 69 6e 66 66 61 73 74 2e 63 20 69 6e 66  .c inffast.c inf
ef10: 6c 61 74 65 2e 63 20 69 6e 66 74 72 65 65 73 2e  late.c inftrees.
ef20: 63 20 74 72 65 65 73 2e 63 20 75 6e 63 6f 6d 70  c trees.c uncomp
ef30: 72 2e 63 20 7a 75 74 69 6c 2e 63 0a 4f 52 49 47  r.c zutil.c.ORIG
ef40: 5a 4c 49 42 53 52 43 3d 24 28 66 6f 72 65 61 63  ZLIBSRC=$(foreac
ef50: 68 20 73 66 2c 24 28 5a 4c 49 42 53 52 43 29 2c  h sf,$(ZLIBSRC),
ef60: 24 28 5a 4c 49 42 53 52 43 44 49 52 29 24 28 73  $(ZLIBSRCDIR)$(s
ef70: 66 29 29 0a 5a 4c 49 42 4f 42 4a 3d 24 28 66 6f  f)).ZLIBOBJ=$(fo
ef80: 72 65 61 63 68 20 73 66 2c 24 28 5a 4c 49 42 53  reach sf,$(ZLIBS
ef90: 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a  RC),$(sf:.c=.obj
efa0: 29 29 0a 0a 23 20 64 65 66 69 6e 65 20 61 6c 6c  ))..# define all
efb0: 20 66 6f 73 73 69 6c 20 73 6f 75 72 63 65 73 2c   fossil sources,
efc0: 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64   using the stand
efd0: 61 72 64 20 63 6f 6d 70 69 6c 65 20 61 6e 64 0a  ard compile and.
efe0: 23 20 73 6f 75 72 63 65 20 67 65 6e 65 72 61 74  # source generat
eff0: 69 6f 6e 2e 20 54 68 65 73 65 20 61 72 65 20 61  ion. These are a
f000: 6c 6c 20 66 69 6c 65 73 20 69 6e 20 53 52 43 44  ll files in SRCD
f010: 49 52 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f  IR, which are no
f020: 74 0a 23 20 6d 65 6e 74 69 6f 6e 65 64 20 61 73  t.# mentioned as
f030: 20 73 70 65 63 69 61 6c 20 66 69 6c 65 73 20 61   special files a
f040: 62 6f 76 65 3a 0a 4f 52 49 47 53 52 43 3d 24 28  bove:.ORIGSRC=$(
f050: 66 69 6c 74 65 72 2d 6f 75 74 20 24 28 55 54 49  filter-out $(UTI
f060: 4c 53 5f 53 52 43 29 20 24 28 4f 52 49 47 54 48  LS_SRC) $(ORIGTH
f070: 53 52 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54  SRC) $(ORIGSQLIT
f080: 45 53 52 43 29 20 24 28 4f 52 49 47 53 51 4c 49  ESRC) $(ORIGSQLI
f090: 54 45 53 48 45 4c 4c 53 52 43 29 2c 24 28 77 69  TESHELLSRC),$(wi
f0a0: 6c 64 63 61 72 64 20 24 28 53 52 43 44 49 52 29  ldcard $(SRCDIR)
f0b0: 2a 2e 63 29 29 0a 53 52 43 3d 24 28 73 75 62 73  *.c)).SRC=$(subs
f0c0: 74 20 24 28 53 52 43 44 49 52 29 2c 2c 24 28 4f  t $(SRCDIR),,$(O
f0d0: 52 49 47 53 52 43 29 29 0a 54 52 41 4e 53 4c 41  RIGSRC)).TRANSLA
f0e0: 54 45 44 53 52 43 3d 24 28 53 52 43 3a 2e 63 3d  TEDSRC=$(SRC:.c=
f0f0: 5f 2e 63 29 0a 54 52 41 4e 53 4c 41 54 45 44 4f  _.c).TRANSLATEDO
f100: 42 4a 3d 24 28 54 52 41 4e 53 4c 41 54 45 44 53  BJ=$(TRANSLATEDS
f110: 52 43 3a 2e 63 3d 2e 6f 62 6a 29 0a 0a 23 20 6d  RC:.c=.obj)..# m
f120: 61 69 6e 20 74 61 72 67 65 74 20 66 69 6c 65 20  ain target file 
f130: 69 73 20 74 68 65 20 61 70 70 6c 69 63 61 74 69  is the applicati
f140: 6f 6e 0a 41 50 50 4c 49 43 41 54 49 4f 4e 3d 66  on.APPLICATION=f
f150: 6f 73 73 69 6c 2e 65 78 65 0a 0a 23 20 64 65 66  ossil.exe..# def
f160: 69 6e 65 20 74 68 65 20 73 74 61 6e 64 61 72 64  ine the standard
f170: 20 6d 61 6b 65 20 74 61 72 67 65 74 0a 2e 50 48   make target..PH
f180: 4f 4e 59 3a 09 64 65 66 61 75 6c 74 0a 64 65 66  ONY:.default.def
f190: 61 75 6c 74 3a 09 70 61 67 65 5f 69 6e 64 65 78  ault:.page_index
f1a0: 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e  .h builtin_data.
f1b0: 68 20 68 65 61 64 65 72 73 20 24 28 41 50 50 4c  h headers $(APPL
f1c0: 49 43 41 54 49 4f 4e 29 0a 0a 23 20 73 79 6d 62  ICATION)..# symb
f1d0: 6f 6c 69 63 20 74 61 72 67 65 74 20 74 6f 20 67  olic target to g
f1e0: 65 6e 65 72 61 74 65 20 74 68 65 20 73 6f 75 72  enerate the sour
f1f0: 63 65 20 67 65 6e 65 72 61 74 65 20 75 74 69 6c  ce generate util
f200: 73 0a 2e 50 48 4f 4e 59 3a 09 75 74 69 6c 73 0a  s..PHONY:.utils.
f210: 75 74 69 6c 73 3a 09 24 28 55 54 49 4c 53 29 0a  utils:.$(UTILS).
f220: 0a 23 20 6c 69 6e 6b 20 75 74 69 6c 73 0a 24 28  .# link utils.$(
f230: 55 54 49 4c 53 29 20 76 65 72 73 69 6f 6e 2e 65  UTILS) version.e
f240: 78 65 3a 09 25 2e 65 78 65 3a 09 25 2e 6f 62 6a  xe:.%.exe:.%.obj
f250: 0a 09 24 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b  ..$(LINK) $(LINK
f260: 46 4c 41 47 53 29 20 2d 6f 75 74 3a 22 24 40 22  FLAGS) -out:"$@"
f270: 20 24 3c 0a 0a 23 20 63 6f 6d 70 69 6c 69 6e 67   $<..# compiling
f280: 20 73 74 61 6e 64 61 72 64 20 66 6f 73 73 69 6c   standard fossil
f290: 20 75 74 69 6c 73 0a 24 28 55 54 49 4c 53 5f 4f   utils.$(UTILS_O
f2a0: 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52  BJ):.%.obj:.$(SR
f2b0: 43 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20  CDIR)%.c..$(CC) 
f2c0: 24 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43  $(CCFLAGS) $(INC
f2d0: 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24  LUDE) "$<" -Fo"$
f2e0: 40 22 0a 0a 23 20 63 6f 6d 70 69 6c 65 20 73 70  @"..# compile sp
f2f0: 65 63 69 61 6c 20 77 69 6e 64 6f 77 73 20 75 74  ecial windows ut
f300: 69 6c 73 0a 76 65 72 73 69 6f 6e 2e 6f 62 6a 3a  ils.version.obj:
f310: 09 24 28 53 52 43 44 49 52 29 6d 6b 76 65 72 73  .$(SRCDIR)mkvers
f320: 69 6f 6e 2e 63 0a 09 24 28 43 43 29 20 24 28 43  ion.c..$(CC) $(C
f330: 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44  CFLAGS) $(INCLUD
f340: 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a  E) "$<" -Fo"$@".
f350: 0a 23 20 67 65 6e 65 72 61 74 65 20 74 68 65 20  .# generate the 
f360: 74 72 61 6e 73 6c 61 74 65 64 20 63 2d 73 6f 75  translated c-sou
f370: 72 63 65 20 66 69 6c 65 73 0a 24 28 54 52 41 4e  rce files.$(TRAN
f380: 53 4c 41 54 45 44 53 52 43 29 3a 09 25 5f 2e 63  SLATEDSRC):.%_.c
f390: 3a 09 24 28 53 52 43 44 49 52 29 25 2e 63 20 74  :.$(SRCDIR)%.c t
f3a0: 72 61 6e 73 6c 61 74 65 2e 65 78 65 0a 09 74 72  ranslate.exe..tr
f3b0: 61 6e 73 6c 61 74 65 2e 65 78 65 20 24 3c 20 3e  anslate.exe $< >
f3c0: 24 40 0a 0a 23 20 67 65 6e 65 72 61 74 65 20 74  $@..# generate t
f3d0: 68 65 20 69 6e 64 65 78 20 73 6f 75 72 63 65 2c  he index source,
f3e0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20   containing all 
f3f0: 77 65 62 20 72 65 66 65 72 65 6e 63 65 73 2c 2e  web references,.
f400: 2e 0a 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a 09  ..page_index.h:.
f410: 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43 29  $(TRANSLATEDSRC)
f420: 20 6d 6b 69 6e 64 65 78 2e 65 78 65 0a 09 6d 6b   mkindex.exe..mk
f430: 69 6e 64 65 78 2e 65 78 65 20 24 28 54 52 41 4e  index.exe $(TRAN
f440: 53 4c 41 54 45 44 53 52 43 29 20 3e 24 40 0a 0a  SLATEDSRC) >$@..
f450: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09  builtin_data.h:.
f460: 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 6d  $(EXTRA_FILES) m
f470: 6b 62 75 69 6c 74 69 6e 2e 65 78 65 0a 09 6d 6b  kbuiltin.exe..mk
f480: 62 75 69 6c 74 69 6e 2e 65 78 65 20 2d 2d 70 72  builtin.exe --pr
f490: 65 66 69 78 20 24 28 53 52 43 44 49 52 29 2f 20  efix $(SRCDIR)/ 
f4a0: 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e  $(EXTRA_FILES) >
f4b0: 24 40 0a 0a 23 20 65 78 74 72 61 63 74 69 6e 67  $@..# extracting
f4c0: 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 20 66 72   version info fr
f4d0: 6f 6d 20 6d 61 6e 69 66 65 73 74 0a 56 45 52 53  om manifest.VERS
f4e0: 49 4f 4e 2e 68 3a 09 76 65 72 73 69 6f 6e 2e 65  ION.h:.version.e
f4f0: 78 65 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 2e 75  xe ..\manifest.u
f500: 75 69 64 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 20  uid ..\manifest 
f510: 2e 2e 5c 56 45 52 53 49 4f 4e 0a 09 76 65 72 73  ..\VERSION..vers
f520: 69 6f 6e 2e 65 78 65 20 2e 2e 5c 6d 61 6e 69 66  ion.exe ..\manif
f530: 65 73 74 2e 75 75 69 64 20 2e 2e 5c 6d 61 6e 69  est.uuid ..\mani
f540: 66 65 73 74 20 2e 2e 5c 56 45 52 53 49 4f 4e 20  fest ..\VERSION 
f550: 20 3e 24 40 0a 0a 64 65 66 61 75 6c 74 5f 63 73   >$@..default_cs
f560: 73 2e 68 3a 09 6d 6b 63 73 73 2e 65 78 65 20 64  s.h:.mkcss.exe d
f570: 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 0a 09  efault_css.txt..
f580: 6d 6b 63 73 73 2e 65 78 65 20 64 65 66 61 75 6c  mkcss.exe defaul
f590: 74 5f 63 73 73 2e 74 78 74 20 24 40 0a 0a 23 20  t_css.txt $@..# 
f5a0: 67 65 6e 65 72 61 74 65 20 74 68 65 20 73 69 6d  generate the sim
f5b0: 70 6c 69 66 69 65 64 20 68 65 61 64 65 72 73 0a  plified headers.
f5c0: 68 65 61 64 65 72 73 3a 20 6d 61 6b 65 68 65 61  headers: makehea
f5d0: 64 65 72 73 2e 65 78 65 20 70 61 67 65 5f 69 6e  ders.exe page_in
f5e0: 64 65 78 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61  dex.h builtin_da
f5f0: 74 61 2e 68 20 64 65 66 61 75 6c 74 5f 63 73 73  ta.h default_css
f600: 2e 68 20 56 45 52 53 49 4f 4e 2e 68 20 2e 2e 2f  .h VERSION.h ../
f610: 73 72 63 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e  src/sqlite3.h ..
f620: 2f 73 72 63 2f 74 68 2e 68 0a 09 6d 61 6b 65 68  /src/th.h..makeh
f630: 65 61 64 65 72 73 2e 65 78 65 20 24 28 66 6f 72  eaders.exe $(for
f640: 65 61 63 68 20 74 73 2c 24 28 54 52 41 4e 53 4c  each ts,$(TRANSL
f650: 41 54 45 44 53 52 43 29 2c 24 28 74 73 29 3a 24  ATEDSRC),$(ts):$
f660: 28 74 73 3a 5f 2e 63 3d 2e 68 29 29 20 2e 2e 2f  (ts:_.c=.h)) ../
f670: 73 72 63 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e  src/sqlite3.h ..
f680: 2f 73 72 63 2f 74 68 2e 68 20 56 45 52 53 49 4f  /src/th.h VERSIO
f690: 4e 2e 68 0a 09 65 63 68 6f 20 44 6f 6e 65 20 3e  N.h..echo Done >
f6a0: 24 40 0a 0a 23 20 63 6f 6d 70 69 6c 65 20 43 20  $@..# compile C 
f6b0: 73 6f 75 72 63 65 73 20 77 69 74 68 20 72 65 6c  sources with rel
f6c0: 65 76 61 6e 74 20 6f 70 74 69 6f 6e 73 0a 0a 24  evant options..$
f6d0: 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 3a  (TRANSLATEDOBJ):
f6e0: 09 25 5f 2e 6f 62 6a 3a 09 25 5f 2e 63 20 25 2e  .%_.obj:.%_.c %.
f6f0: 68 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c 41  h..$(CC) $(CCFLA
f700: 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22  GS) $(INCLUDE) "
f710: 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24 28 53  $<" -Fo"$@"..$(S
f720: 51 4c 49 54 45 4f 42 4a 29 3a 09 25 2e 6f 62 6a  QLITEOBJ):.%.obj
f730: 3a 09 24 28 53 52 43 44 49 52 29 25 2e 63 20 24  :.$(SRCDIR)%.c $
f740: 28 53 52 43 44 49 52 29 25 2e 68 0a 09 24 28 43  (SRCDIR)%.h..$(C
f750: 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28  C) $(CCFLAGS) $(
f760: 53 51 4c 49 54 45 44 45 46 49 4e 45 53 29 20 24  SQLITEDEFINES) $
f770: 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d  (INCLUDE) "$<" -
f780: 46 6f 22 24 40 22 0a 0a 24 28 53 51 4c 49 54 45  Fo"$@"..$(SQLITE
f790: 53 48 45 4c 4c 4f 42 4a 29 3a 09 25 2e 6f 62 6a  SHELLOBJ):.%.obj
f7a0: 3a 09 24 28 53 52 43 44 49 52 29 25 2e 63 0a 09  :.$(SRCDIR)%.c..
f7b0: 24 28 43 43 29 20 24 28 43 43 46 4c 41 47 53 29  $(CC) $(CCFLAGS)
f7c0: 20 24 28 53 51 4c 49 54 45 53 48 45 4c 4c 44 45   $(SQLITESHELLDE
f7d0: 46 49 4e 45 53 29 20 24 28 49 4e 43 4c 55 44 45  FINES) $(INCLUDE
f7e0: 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a  ) "$<" -Fo"$@"..
f7f0: 24 28 54 48 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a  $(THOBJ):.%.obj:
f800: 09 24 28 53 52 43 44 49 52 29 25 2e 63 20 24 28  .$(SRCDIR)%.c $(
f810: 53 52 43 44 49 52 29 74 68 2e 68 0a 09 24 28 43  SRCDIR)th.h..$(C
f820: 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28  C) $(CCFLAGS) $(
f830: 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46  INCLUDE) "$<" -F
f840: 6f 22 24 40 22 0a 0a 24 28 5a 4c 49 42 4f 42 4a  o"$@"..$(ZLIBOBJ
f850: 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 5a 4c 49 42  ):.%.obj:.$(ZLIB
f860: 53 52 43 44 49 52 29 25 2e 63 0a 09 24 28 43 43  SRCDIR)%.c..$(CC
f870: 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28 49  ) $(CCFLAGS) $(I
f880: 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f  NCLUDE) "$<" -Fo
f890: 22 24 40 22 0a 0a 23 20 63 72 65 61 74 65 20 74  "$@"..# create t
f8a0: 68 65 20 77 69 6e 64 6f 77 73 20 72 65 73 6f 75  he windows resou
f8b0: 72 63 65 20 77 69 74 68 20 69 63 6f 6e 20 61 6e  rce with icon an
f8c0: 64 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 0a 24  d version info.$
f8d0: 28 52 45 53 4f 55 52 43 45 29 3a 09 25 2e 72 65  (RESOURCE):.%.re
f8e0: 73 3a 09 2e 2e 2f 77 69 6e 2f 25 2e 72 63 20 2e  s:.../win/%.rc .
f8f0: 2e 2f 77 69 6e 2f 2a 2e 69 63 6f 0a 09 24 28 52  ./win/*.ico..$(R
f900: 43 29 20 24 28 52 43 46 4c 41 47 53 29 20 24 3c  C) $(RCFLAGS) $<
f910: 20 2d 46 6f 22 24 40 22 0a 0a 23 20 6c 69 6e 6b   -Fo"$@"..# link
f920: 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e   the application
f930: 0a 24 28 41 50 50 4c 49 43 41 54 49 4f 4e 29 3a  .$(APPLICATION):
f940: 09 24 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a  .$(TRANSLATEDOBJ
f950: 29 20 24 28 53 51 4c 49 54 45 4f 42 4a 29 20 24  ) $(SQLITEOBJ) $
f960: 28 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29  (SQLITESHELLOBJ)
f970: 20 24 28 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42   $(THOBJ) $(ZLIB
f980: 4f 42 4a 29 20 68 65 61 64 65 72 73 20 24 28 52  OBJ) headers $(R
f990: 45 53 4f 55 52 43 45 29 0a 09 24 28 4c 49 4e 4b  ESOURCE)..$(LINK
f9a0: 29 20 24 28 4c 49 4e 4b 46 4c 41 47 53 29 20 2d  ) $(LINKFLAGS) -
f9b0: 6f 75 74 3a 22 24 40 22 20 24 28 54 52 41 4e 53  out:"$@" $(TRANS
f9c0: 4c 41 54 45 44 4f 42 4a 29 20 24 28 53 51 4c 49  LATEDOBJ) $(SQLI
f9d0: 54 45 4f 42 4a 29 20 24 28 53 51 4c 49 54 45 53  TEOBJ) $(SQLITES
f9e0: 48 45 4c 4c 4f 42 4a 29 20 24 28 54 48 4f 42 4a  HELLOBJ) $(THOBJ
f9f0: 29 20 24 28 5a 4c 49 42 4f 42 4a 29 20 24 28 52  ) $(ZLIBOBJ) $(R
fa00: 45 53 4f 55 52 43 45 29 0a 0a 23 20 63 6c 65 61  ESOURCE)..# clea
fa10: 6e 75 70 0a 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65  nup...PHONY: cle
fa20: 61 6e 0a 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f  an.clean:..del /
fa30: 46 20 24 28 54 52 41 4e 53 4c 41 54 45 44 4f 42  F $(TRANSLATEDOB
fa40: 4a 29 20 24 28 53 51 4c 49 54 45 4f 42 4a 29 20  J) $(SQLITEOBJ) 
fa50: 24 28 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f  $(THOBJ) $(ZLIBO
fa60: 42 4a 29 20 24 28 55 54 49 4c 53 5f 4f 42 4a 29  BJ) $(UTILS_OBJ)
fa70: 20 76 65 72 73 69 6f 6e 2e 6f 62 6a 0a 09 64 65   version.obj..de
fa80: 6c 20 2f 46 20 24 28 54 52 41 4e 53 4c 41 54 45  l /F $(TRANSLATE
fa90: 44 53 52 43 29 0a 09 64 65 6c 20 2f 46 20 2a 2e  DSRC)..del /F *.
faa0: 68 20 68 65 61 64 65 72 73 0a 09 64 65 6c 20 2f  h headers..del /
fab0: 46 20 24 28 52 45 53 4f 55 52 43 45 29 0a 0a 2e  F $(RESOURCE)...
fac0: 50 48 4f 4e 59 3a 20 63 6c 6f 62 62 65 72 0a 63  PHONY: clobber.c
fad0: 6c 6f 62 62 65 72 3a 20 63 6c 65 61 6e 0a 09 64  lobber: clean..d
fae0: 65 6c 20 2f 46 20 2a 2e 65 78 65 0a 7d 5d 0a     el /F *.exe.}].