Fossil

Hex Artifact Content

Artifact 79292c8546846dd7d645356fe6198b39dd1a8acf0ecf9f44b5b48257bd625ee4:

• File src/makemake.tcl — part of check-in [c4aec887] at 2017-12-21 15:38:07 on branch trunk — Update referenced OpenSSL version. (user: mistachkin size: 64156) [more...]

0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68  #!/usr/bin/tclsh
0010: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 54 63  .#.# Run this Tc
0020: 6c 20 73 63 72 69 70 74 20 74 6f 20 67 65 6e 65  l script to gene
0030: 72 61 74 65 20 74 68 65 20 76 61 72 69 6f 75 73  rate the various
0040: 20 6d 61 6b 65 66 69 6c 65 73 20 66 6f 72 20 61   makefiles for a
0050: 20 76 61 72 69 65 74 79 0a 23 20 6f 66 20 70 6c   variety.# of pl
0060: 61 74 66 6f 72 6d 73 2e 20 20 46 69 6c 65 73 20  atforms.  Files
0070: 67 65 6e 65 72 61 74 65 64 20 69 6e 63 6c 75 64  generated includ
0080: 65 3a 0a 23 0a 23 20 20 20 20 20 73 72 63 2f 6d  e:.#.#     src/m
0090: 61 69 6e 2e 6d 6b 20 20 20 20 20 20 20 20 20 20  ain.mk
00a0: 20 23 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20   # makefile for
00b0: 61 6c 6c 20 75 6e 69 78 20 73 79 73 74 65 6d 73  all unix systems
00c0: 0a 23 20 20 20 20 20 77 69 6e 2f 4d 61 6b 65 66  .#     win/Makef
00d0: 69 6c 65 2e 6d 69 6e 67 77 20 20 20 20 23 20 6d  ile.mingw    # m
00e0: 61 6b 65 66 69 6c 65 20 66 6f 72 20 6d 69 6e 67  akefile for ming
00f0: 77 20 6f 6e 20 77 69 6e 64 6f 77 73 0a 23 20 20  w on windows.#
0100: 20 20 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e     win/Makefile.
0110: 2a 20 20 20 20 20 20 20 20 23 20 6d 61 6b 65 66  *        # makef
0120: 69 6c 65 73 20 66 6f 72 20 6f 74 68 65 72 20 77  iles for other w
0130: 69 6e 64 6f 77 73 20 63 6f 6d 70 69 6c 65 72 73  indows compilers
0140: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63  .#.# Run this sc
0150: 72 69 70 74 20 77 68 69 6c 65 20 69 6e 20 74 68  ript while in th
0160: 65 20 22 73 72 63 22 20 73 75 62 64 69 72 65 63  e "src" subdirec
0170: 74 6f 72 79 2e 20 20 4c 69 6b 65 20 74 68 69 73  tory.  Like this
0180: 3a 0a 23 0a 23 20 20 20 20 20 20 74 63 6c 73 68  :.#.#      tclsh
0190: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 0a 23 0a   makemake.tcl.#.
01a0: 23 20 41 64 64 20 6e 65 77 20 73 6f 75 72 63 65  # Add new source
01b0: 20 66 69 6c 65 73 20 62 79 20 6c 69 73 74 69 6e   files by listin
01c0: 67 20 74 68 65 20 66 69 6c 65 73 20 28 77 69 74  g the files (wit
01d0: 68 6f 75 74 20 74 68 65 69 72 20 2e 63 20 73 75  hout their .c su
01e0: 66 66 69 78 29 0a 23 20 69 6e 20 74 68 65 20 22  ffix).# in the "
01f0: 73 72 63 22 20 76 61 72 69 61 62 6c 65 2e 20 20  src" variable.
0200: 41 64 64 20 6e 65 77 20 72 65 73 6f 75 72 63 65  Add new resource
0210: 20 66 69 6c 65 73 20 74 6f 20 74 68 65 20 22 65   files to the "e
0220: 78 74 72 61 5f 66 69 6c 65 73 22 0a 23 20 76 61  xtra_files".# va
0230: 72 69 61 62 6c 65 2e 20 20 54 68 65 72 65 20 61  riable.  There a
0240: 72 65 20 6f 74 68 65 72 20 76 61 72 69 61 62 6c  re other variabl
0250: 65 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20  es that you can
0260: 61 6c 74 65 72 2c 20 64 6f 77 6e 20 74 6f 0a 23  alter, down to.#
0270: 20 74 68 65 20 22 53 54 4f 50 20 48 45 52 45 22   the "STOP HERE"
0280: 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 73   comment.  The s
0290: 74 75 66 66 20 62 65 6c 6f 77 20 22 53 54 4f 50  tuff below "STOP
02a0: 20 48 45 52 45 22 20 73 68 6f 75 6c 64 20 72 61   HERE" should ra
02b0: 72 65 6c 79 20 6e 65 65 64 0a 23 20 74 6f 20 63  rely need.# to c
02c0: 68 61 6e 67 65 2e 0a 23 0a 23 23 23 23 23 23 23  hange..#.#######
02d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0310: 23 23 23 23 23 23 0a 0a 23 20 42 61 73 65 6e 61  ######..# Basena
0320: 6d 65 73 20 6f 66 20 61 6c 6c 20 73 6f 75 72 63  mes of all sourc
0330: 65 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74  e files that get
0340: 20 70 72 65 70 72 6f 63 65 73 73 65 64 20 75 73   preprocessed us
0350: 69 6e 67 0a 23 20 22 74 72 61 6e 73 6c 61 74 65  ing.# "translate
0360: 22 20 61 6e 64 20 22 6d 61 6b 65 68 65 61 64 65  " and "makeheade
0370: 72 73 22 2e 20 20 54 6f 20 61 64 64 20 6e 65 77  rs".  To add new
0380: 20 43 2d 6c 61 6e 67 75 61 67 65 20 73 6f 75 72   C-language sour
0390: 63 65 20 66 69 6c 65 73 20 74 6f 20 74 68 65 0a  ce files to the.
03a0: 23 20 70 72 6f 6a 65 63 74 2c 20 73 69 6d 70 6c  # project, simpl
03b0: 79 20 61 64 64 20 74 68 65 20 62 61 73 65 6e 61  y add the basena
03c0: 6d 65 20 74 6f 20 74 68 69 73 20 6c 69 73 74 20  me to this list
03d0: 61 6e 64 20 72 65 72 75 6e 20 74 68 69 73 20 73  and rerun this s
03e0: 63 72 69 70 74 2e 0a 23 0a 23 20 53 65 74 20 74  cript..#.# Set t
03f0: 68 65 20 73 65 70 61 72 61 74 65 20 65 78 74 72  he separate extr
0400: 61 5f 66 69 6c 65 73 20 76 61 72 69 61 62 6c 65  a_files variable
0410: 20 66 75 72 74 68 65 72 20 64 6f 77 6e 20 66 6f   further down fo
0420: 72 20 68 6f 77 20 74 6f 20 61 64 64 20 6e 6f 6e  r how to add non
0430: 2d 43 0a 23 20 66 69 6c 65 73 2c 20 73 75 63 68  -C.# files, such
0440: 20 61 73 20 73 74 72 69 6e 67 20 61 6e 64 20 42   as string and B
0450: 4c 4f 42 20 72 65 73 6f 75 72 63 65 73 2e 0a 23  LOB resources..#
0460: 0a 73 65 74 20 73 72 63 20 7b 0a 20 20 61 64 64  .set src {.  add
0470: 0a 20 20 61 6c 6c 72 65 70 6f 0a 20 20 61 74 74  .  allrepo.  att
0480: 61 63 68 0a 20 20 62 61 67 0a 20 20 62 69 73 65  ach.  bag.  bise
0490: 63 74 0a 20 20 62 6c 6f 62 0a 20 20 62 72 61 6e  ct.  blob.  bran
04a0: 63 68 0a 20 20 62 72 6f 77 73 65 0a 20 20 62 75  ch.  browse.  bu
04b0: 69 6c 74 69 6e 0a 20 20 62 75 6e 64 6c 65 0a 20  iltin.  bundle.
04c0: 20 63 61 63 68 65 0a 20 20 63 61 70 74 63 68 61   cache.  captcha
04d0: 0a 20 20 63 67 69 0a 20 20 63 68 65 63 6b 69 6e  .  cgi.  checkin
04e0: 0a 20 20 63 68 65 63 6b 6f 75 74 0a 20 20 63 6c  .  checkout.  cl
04f0: 65 61 72 73 69 67 6e 0a 20 20 63 6c 6f 6e 65 0a  earsign.  clone.
0500: 20 20 63 6f 6d 66 6f 72 6d 61 74 0a 20 20 63 6f    comformat.  co
0510: 6e 66 69 67 75 72 65 0a 20 20 63 6f 6e 74 65 6e  nfigure.  conten
0520: 74 0a 20 20 63 6f 6f 6b 69 65 73 0a 20 20 64 62  t.  cookies.  db
0530: 0a 20 20 64 65 6c 74 61 0a 20 20 64 65 6c 74 61  .  delta.  delta
0540: 63 6d 64 0a 20 20 64 65 73 63 65 6e 64 61 6e 74  cmd.  descendant
0550: 73 0a 20 20 64 69 66 66 0a 20 20 64 69 66 66 63  s.  diff.  diffc
0560: 6d 64 0a 20 20 64 69 73 70 61 74 63 68 0a 20 20  md.  dispatch.
0570: 64 6f 63 0a 20 20 65 6e 63 6f 64 65 0a 20 20 65  doc.  encode.  e
0580: 76 65 6e 74 0a 20 20 65 78 70 6f 72 74 0a 20 20  vent.  export.
0590: 66 69 6c 65 0a 20 20 66 69 6e 66 6f 0a 20 20 66  file.  finfo.  f
05a0: 6f 63 69 0a 20 20 66 73 68 65 6c 6c 0a 20 20 66  oci.  fshell.  f
05b0: 75 73 65 66 73 0a 20 20 67 6c 6f 62 0a 20 20 67  usefs.  glob.  g
05c0: 72 61 70 68 0a 20 20 67 7a 69 70 0a 20 20 68 6e  raph.  gzip.  hn
05d0: 61 6d 65 0a 20 20 68 74 74 70 0a 20 20 68 74 74  ame.  http.  htt
05e0: 70 5f 73 6f 63 6b 65 74 0a 20 20 68 74 74 70 5f  p_socket.  http_
05f0: 74 72 61 6e 73 70 6f 72 74 0a 20 20 69 6d 70 6f  transport.  impo
0600: 72 74 0a 20 20 69 6e 66 6f 0a 20 20 6a 73 6f 6e  rt.  info.  json
0610: 0a 20 20 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74  .  json_artifact
0620: 0a 20 20 6a 73 6f 6e 5f 62 72 61 6e 63 68 0a 20  .  json_branch.
0630: 20 6a 73 6f 6e 5f 63 6f 6e 66 69 67 0a 20 20 6a   json_config.  j
0640: 73 6f 6e 5f 64 69 66 66 0a 20 20 6a 73 6f 6e 5f  son_diff.  json_
0650: 64 69 72 0a 20 20 6a 73 6f 6e 5f 66 69 6e 66 6f  dir.  json_finfo
0660: 0a 20 20 6a 73 6f 6e 5f 6c 6f 67 69 6e 0a 20 20  .  json_login.
0670: 6a 73 6f 6e 5f 71 75 65 72 79 0a 20 20 6a 73 6f  json_query.  jso
0680: 6e 5f 72 65 70 6f 72 74 0a 20 20 6a 73 6f 6e 5f  n_report.  json_
0690: 73 74 61 74 75 73 0a 20 20 6a 73 6f 6e 5f 74 61  status.  json_ta
06a0: 67 0a 20 20 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e  g.  json_timelin
06b0: 65 0a 20 20 6a 73 6f 6e 5f 75 73 65 72 0a 20 20  e.  json_user.
06c0: 6a 73 6f 6e 5f 77 69 6b 69 0a 20 20 6c 65 61 66  json_wiki.  leaf
06d0: 0a 20 20 6c 6f 61 64 63 74 72 6c 0a 20 20 6c 6f  .  loadctrl.  lo
06e0: 67 69 6e 0a 20 20 6c 6f 6f 6b 73 6c 69 6b 65 0a  gin.  lookslike.
06f0: 20 20 6d 61 69 6e 0a 20 20 6d 61 6e 69 66 65 73    main.  manifes
0700: 74 0a 20 20 6d 61 72 6b 64 6f 77 6e 0a 20 20 6d  t.  markdown.  m
0710: 61 72 6b 64 6f 77 6e 5f 68 74 6d 6c 0a 20 20 6d  arkdown_html.  m
0720: 64 35 0a 20 20 6d 65 72 67 65 0a 20 20 6d 65 72  d5.  merge.  mer
0730: 67 65 33 0a 20 20 6d 6f 64 65 72 61 74 65 0a 20  ge3.  moderate.
0740: 20 6e 61 6d 65 0a 20 20 70 61 74 68 0a 20 20 70   name.  path.  p
0750: 69 65 63 68 61 72 74 0a 20 20 70 69 76 6f 74 0a  iechart.  pivot.
0760: 20 20 70 6f 70 65 6e 0a 20 20 70 71 75 65 75 65    popen.  pqueue
0770: 0a 20 20 70 72 69 6e 74 66 0a 20 20 70 75 62 6c  .  printf.  publ
0780: 69 73 68 0a 20 20 70 75 72 67 65 0a 20 20 72 65  ish.  purge.  re
0790: 62 75 69 6c 64 0a 20 20 72 65 67 65 78 70 0a 20  build.  regexp.
07a0: 20 72 65 70 6f 72 74 0a 20 20 72 73 73 0a 20 20   report.  rss.
07b0: 73 63 68 65 6d 61 0a 20 20 73 65 61 72 63 68 0a  schema.  search.
07c0: 20 20 73 65 63 75 72 69 74 79 5f 61 75 64 69 74    security_audit
07d0: 0a 20 20 73 65 74 75 70 0a 20 20 73 68 61 31 0a  .  setup.  sha1.
07e0: 20 20 73 68 61 31 68 61 72 64 0a 20 20 73 68 61    sha1hard.  sha
07f0: 33 0a 20 20 73 68 75 6e 0a 20 20 73 69 74 65 6d  3.  shun.  sitem
0800: 61 70 0a 20 20 73 6b 69 6e 73 0a 20 20 73 71 6c  ap.  skins.  sql
0810: 63 6d 64 0a 20 20 73 74 61 73 68 0a 20 20 73 74  cmd.  stash.  st
0820: 61 74 0a 20 20 73 74 61 74 72 65 70 0a 20 20 73  at.  statrep.  s
0830: 74 79 6c 65 0a 20 20 73 79 6e 63 0a 20 20 74 61  tyle.  sync.  ta
0840: 67 0a 20 20 74 61 72 0a 20 20 74 68 5f 6d 61 69  g.  tar.  th_mai
0850: 6e 0a 20 20 74 69 6d 65 6c 69 6e 65 0a 20 20 74  n.  timeline.  t
0860: 6b 74 0a 20 20 74 6b 74 73 65 74 75 70 0a 20 20  kt.  tktsetup.
0870: 75 6e 64 6f 0a 20 20 75 6e 69 63 6f 64 65 0a 20  undo.  unicode.
0880: 20 75 6e 76 65 72 73 69 6f 6e 65 64 0a 20 20 75   unversioned.  u
0890: 70 64 61 74 65 0a 20 20 75 72 6c 0a 20 20 75 73  pdate.  url.  us
08a0: 65 72 0a 20 20 75 74 66 38 0a 20 20 75 74 69 6c  er.  utf8.  util
08b0: 0a 20 20 76 65 72 69 66 79 0a 20 20 76 66 69 6c  .  verify.  vfil
08c0: 65 0a 20 20 77 69 6b 69 0a 20 20 77 69 6b 69 66  e.  wiki.  wikif
08d0: 6f 72 6d 61 74 0a 20 20 77 69 6e 66 69 6c 65 0a  ormat.  winfile.
08e0: 20 20 77 69 6e 68 74 74 70 0a 20 20 77 79 73 69    winhttp.  wysi
08f0: 77 79 67 0a 20 20 78 66 65 72 0a 20 20 78 66 65  wyg.  xfer.  xfe
0900: 72 73 65 74 75 70 0a 20 20 7a 69 70 0a 20 20 68  rsetup.  zip.  h
0910: 74 74 70 5f 73 73 6c 0a 7d 0a 0a 23 20 41 64 64  ttp_ssl.}..# Add
0920: 69 74 69 6f 6e 61 6c 20 72 65 73 6f 75 72 63 65  itional resource
0930: 20 66 69 6c 65 73 20 74 68 61 74 20 67 65 74 20   files that get
0940: 62 75 69 6c 74 20 69 6e 74 6f 20 74 68 65 20 65  built into the e
0950: 78 65 63 75 74 61 62 6c 65 2e 0a 23 0a 73 65 74  xecutable..#.set
0960: 20 65 78 74 72 61 5f 66 69 6c 65 73 20 7b 0a 20   extra_files {.
0970: 20 64 69 66 66 2e 74 63 6c 0a 20 20 6d 61 72 6b   diff.tcl.  mark
0980: 64 6f 77 6e 2e 6d 64 0a 20 20 77 69 6b 69 2e 77  down.md.  wiki.w
0990: 69 6b 69 0a 20 20 2a 2e 6a 73 0a 20 20 2e 2e 2f  iki.  *.js.  ../
09a0: 73 6b 69 6e 73 2f 2a 2f 2a 2e 74 78 74 0a 7d 0a  skins/*/*.txt.}.
09b0: 0a 23 20 4f 70 74 69 6f 6e 73 20 75 73 65 64 20  .# Options used
09c0: 74 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69  to compile the i
09d0: 6e 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c  ncluded SQLite l
09e0: 69 62 72 61 72 79 2e 0a 23 0a 73 65 74 20 53 51  ibrary..#.set SQ
09f0: 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20  LITE_OPTIONS {.
0a00: 20 2d 44 4e 44 45 42 55 47 3d 31 0a 20 20 2d 44   -DNDEBUG=1.  -D
0a10: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
0a20: 45 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44  E=0.  -DSQLITE_D
0a30: 45 46 41 55 4c 54 5f 4d 45 4d 53 54 41 54 55 53  EFAULT_MEMSTATUS
0a40: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 44 45  =0.  -DSQLITE_DE
0a50: 46 41 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52  FAULT_WAL_SYNCHR
0a60: 4f 4e 4f 55 53 3d 31 0a 20 20 2d 44 53 51 4c 49  ONOUS=1.  -DSQLI
0a70: 54 45 5f 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d  TE_LIKE_DOESNT_M
0a80: 41 54 43 48 5f 42 4c 4f 42 53 0a 20 20 2d 44 53  ATCH_BLOBS.  -DS
0a90: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54  QLITE_OMIT_DECLT
0aa0: 59 50 45 0a 20 20 2d 44 53 51 4c 49 54 45 5f 4f  YPE.  -DSQLITE_O
0ab0: 4d 49 54 5f 44 45 50 52 45 43 41 54 45 44 0a 20  MIT_DEPRECATED.
0ac0: 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47   -DSQLITE_OMIT_G
0ad0: 45 54 5f 54 41 42 4c 45 0a 20 20 2d 44 53 51 4c  ET_TABLE.  -DSQL
0ae0: 49 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53  ITE_OMIT_PROGRES
0af0: 53 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 2d 44 53  S_CALLBACK.  -DS
0b00: 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48 41 52 45  QLITE_OMIT_SHARE
0b10: 44 5f 43 41 43 48 45 0a 20 20 2d 44 53 51 4c 49  D_CACHE.  -DSQLI
0b20: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
0b30: 45 4e 53 49 4f 4e 0a 20 20 2d 44 53 51 4c 49 54  ENSION.  -DSQLIT
0b40: 45 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48  E_MAX_EXPR_DEPTH
0b50: 3d 30 0a 20 20 2d 44 53 51 4c 49 54 45 5f 55 53  =0.  -DSQLITE_US
0b60: 45 5f 41 4c 4c 4f 43 41 0a 20 20 2d 44 53 51 4c  E_ALLOCA.  -DSQL
0b70: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49  ITE_ENABLE_LOCKI
0b80: 4e 47 5f 53 54 59 4c 45 3d 30 0a 20 20 2d 44 53  NG_STYLE=0.  -DS
0b90: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49  QLITE_DEFAULT_FI
0ba0: 4c 45 5f 46 4f 52 4d 41 54 3d 34 0a 20 20 2d 44  LE_FORMAT=4.  -D
0bb0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 45 58  SQLITE_ENABLE_EX
0bc0: 50 4c 41 49 4e 5f 43 4f 4d 4d 45 4e 54 53 0a 20  PLAIN_COMMENTS.
0bd0: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0be0: 5f 46 54 53 34 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS4.  -DSQLITE
0bf0: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 5f 50 41 52  _ENABLE_FTS3_PAR
0c00: 45 4e 54 48 45 53 49 53 0a 20 20 2d 44 53 51 4c  ENTHESIS.  -DSQL
0c10: 49 54 45 5f 45 4e 41 42 4c 45 5f 44 42 53 54 41  ITE_ENABLE_DBSTA
0c20: 54 5f 56 54 41 42 0a 20 20 2d 44 53 51 4c 49 54  T_VTAB.  -DSQLIT
0c30: 45 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 31 0a 20  E_ENABLE_JSON1.
0c40: 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45   -DSQLITE_ENABLE
0c50: 5f 46 54 53 35 0a 20 20 2d 44 53 51 4c 49 54 45  _FTS5.  -DSQLITE
0c60: 5f 45 4e 41 42 4c 45 5f 53 54 4d 54 56 54 41 42  _ENABLE_STMTVTAB
0c70: 0a 7d 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49  .}.#lappend SQLI
0c80: 54 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c  TE_OPTIONS -DSQL
0c90: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 3d  ITE_ENABLE_FTS3=
0ca0: 31 0a 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54  1.#lappend SQLIT
0cb0: 45 5f 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49  E_OPTIONS -DSQLI
0cc0: 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 34 0a  TE_ENABLE_STAT4.
0cd0: 23 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f  #lappend SQLITE_
0ce0: 4f 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45  OPTIONS -DSQLITE
0cf0: 5f 57 49 4e 33 32 5f 4e 4f 5f 41 4e 53 49 0a 23  _WIN32_NO_ANSI.#
0d00: 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45 5f 4f  lappend SQLITE_O
0d10: 50 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f  PTIONS -DSQLITE_
0d20: 57 49 4e 4e 54 5f 4d 41 58 5f 50 41 54 48 5f 43  WINNT_MAX_PATH_C
0d30: 48 41 52 53 3d 34 30 39 36 0a 0a 23 20 4f 70 74  HARS=4096..# Opt
0d40: 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f 6d  ions used to com
0d50: 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64 65  pile the include
0d60: 64 20 53 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a  d SQLite shell..
0d70: 23 0a 73 65 74 20 53 48 45 4c 4c 5f 4f 50 54 49  #.set SHELL_OPTI
0d80: 4f 4e 53 20 7b 0a 20 20 2d 44 6d 61 69 6e 3d 73  ONS {.  -Dmain=s
0d90: 71 6c 69 74 65 33 5f 73 68 65 6c 6c 0a 20 20 2d  qlite3_shell.  -
0da0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 49 53  DSQLITE_SHELL_IS
0db0: 5f 55 54 46 38 3d 31 0a 20 20 2d 44 53 51 4c 49  _UTF8=1.  -DSQLI
0dc0: 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54  TE_OMIT_LOAD_EXT
0dd0: 45 4e 53 49 4f 4e 3d 31 0a 20 20 2d 44 55 53 45  ENSION=1.  -DUSE
0de0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 3d 24  _SYSTEM_SQLITE=$0df0: 28 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 (USE_SYSTEM_SQLI 0e00: 54 45 29 0a 20 20 2d 44 53 51 4c 49 54 45 5f 53 TE). -DSQLITE_S 0e10: 48 45 4c 4c 5f 44 42 4e 41 4d 45 5f 50 52 4f 43 HELL_DBNAME_PROC 0e20: 3d 66 6f 73 73 69 6c 5f 6f 70 65 6e 0a 7d 0a 0a =fossil_open.}.. 0e30: 23 20 6d 69 6e 69 7a 20 28 6c 69 62 7a 20 64 72 # miniz (libz dr 0e40: 6f 70 2d 69 6e 20 61 6c 74 65 72 6e 61 74 69 76 op-in alternativ 0e50: 65 29 20 70 72 65 63 6f 6d 70 69 6c 65 72 20 66 e) precompiler f 0e60: 6c 61 67 73 2e 0a 23 0a 73 65 74 20 4d 49 4e 49 lags..#.set MINI 0e70: 5a 5f 4f 50 54 49 4f 4e 53 20 7b 0a 20 20 2d 44 Z_OPTIONS {. -D 0e80: 4d 49 4e 49 5a 5f 4e 4f 5f 53 54 44 49 4f 0a 20 MINIZ_NO_STDIO. 0e90: 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 54 49 4d 45 -DMINIZ_NO_TIME 0ea0: 0a 20 20 2d 44 4d 49 4e 49 5a 5f 4e 4f 5f 41 52 . -DMINIZ_NO_AR 0eb0: 43 48 49 56 45 5f 41 50 49 53 0a 7d 0a 0a 23 20 CHIVE_APIS.}..# 0ec0: 4f 70 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 Options used to 0ed0: 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c compile the incl 0ee0: 75 64 65 64 20 53 51 4c 69 74 65 20 73 68 65 6c uded SQLite shel 0ef0: 6c 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 23 0a l on Windows..#. 0f00: 73 65 74 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f set SHELL_WIN32_ 0f10: 4f 50 54 49 4f 4e 53 20 24 53 48 45 4c 4c 5f 4f OPTIONS$SHELL_O
0f20: 50 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 53  PTIONS.lappend S
0f30: 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f  HELL_WIN32_OPTIO
0f40: 4e 53 20 2d 44 61 63 63 65 73 73 3d 66 69 6c 65  NS -Daccess=file
0f50: 5f 61 63 63 65 73 73 0a 6c 61 70 70 65 6e 64 20  _access.lappend
0f60: 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f 50 54 49  SHELL_WIN32_OPTI
0f70: 4f 4e 53 20 2d 44 73 79 73 74 65 6d 3d 66 6f 73  ONS -Dsystem=fos
0f80: 73 69 6c 5f 73 79 73 74 65 6d 0a 6c 61 70 70 65  sil_system.lappe
0f90: 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33 32 5f 4f  nd SHELL_WIN32_O
0fa0: 50 54 49 4f 4e 53 20 2d 44 67 65 74 65 6e 76 3d  PTIONS -Dgetenv=
0fb0: 66 6f 73 73 69 6c 5f 67 65 74 65 6e 76 0a 6c 61  fossil_getenv.la
0fc0: 70 70 65 6e 64 20 53 48 45 4c 4c 5f 57 49 4e 33  ppend SHELL_WIN3
0fd0: 32 5f 4f 50 54 49 4f 4e 53 20 2d 44 66 6f 70 65  2_OPTIONS -Dfope
0fe0: 6e 3d 66 6f 73 73 69 6c 5f 66 6f 70 65 6e 0a 0a  n=fossil_fopen..
0ff0: 23 20 53 54 4f 50 20 48 45 52 45 2e 0a 23 20 55  # STOP HERE..# U
1000: 6e 6c 65 73 73 20 74 68 65 20 62 75 69 6c 64 20  nless the build
1010: 70 72 6f 63 65 64 75 72 65 73 20 63 68 61 6e 67  procedures chang
1020: 65 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e  es, you should n
1030: 6f 74 20 68 61 76 65 20 74 6f 20 65 64 69 74 20  ot have to edit
1040: 61 6e 79 74 68 69 6e 67 0a 23 20 62 65 6c 6f 77  anything.# below
1050: 20 74 68 69 73 20 6c 69 6e 65 2e 0a 23 23 23 23   this line..####
1060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1070: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1080: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10a0: 23 23 23 23 23 23 23 23 23 0a 0a 23 20 4e 61 6d  #########..# Nam
10b0: 65 20 6f 66 20 74 68 65 20 66 69 6e 61 6c 20 61  e of the final a
10c0: 70 70 6c 69 63 61 74 69 6f 6e 0a 23 0a 73 65 74  pplication.#.set
10d0: 20 6e 61 6d 65 20 66 6f 73 73 69 6c 0a 0a 23 20   name fossil..#
10e0: 54 68 65 20 22 77 72 69 74 65 6c 6e 22 20 63 6f  The "writeln" co
10f0: 6d 6d 61 6e 64 20 73 65 6e 64 73 20 6f 75 74 70  mmand sends outp
1100: 75 74 20 74 6f 20 74 68 65 20 74 61 72 67 65 74  ut to the target
1110: 20 6d 61 6b 65 66 69 6c 65 2e 0a 23 0a 70 72 6f   makefile..#.pro
1120: 63 20 77 72 69 74 65 6c 6e 20 7b 61 72 67 73 7d  c writeln {args}
1130: 20 7b 0a 20 20 67 6c 6f 62 61 6c 20 6f 75 74 70   {.  global outp
1140: 75 74 5f 66 69 6c 65 0a 20 20 69 66 20 7b 5b 6c  ut_file.  if {[l
1150: 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 3d 3d  index $args 0]== 1160: 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 7d 20 7b 0a "-nonewline"} {. 1170: 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c puts -nonewl 1180: 69 6e 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 ine$output_file
1190: 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31   [lindex $args 1 11a0: 5d 0a 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 ]. } else {. 11b0: 20 70 75 74 73 20 24 6f 75 74 70 75 74 5f 66 69 puts$output_fi
11c0: 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73  le [lindex $args 11d0: 20 30 5d 0a 20 20 7d 0a 7d 0a 0a 23 20 45 78 70 0]. }.}..# Exp 11e0: 61 6e 64 20 61 6e 79 20 77 69 6c 64 63 61 72 64 and any wildcard 11f0: 73 20 69 6e 20 22 65 78 74 72 61 5f 66 69 6c 65 s in "extra_file 1200: 73 22 0a 73 65 74 20 6e 65 77 5f 65 78 74 72 61 s".set new_extra 1210: 5f 66 69 6c 65 73 20 7b 7d 0a 66 6f 72 65 61 63 _files {}.foreac 1220: 68 20 66 69 6c 65 20 24 65 78 74 72 61 5f 66 69 h file$extra_fi
1230: 6c 65 73 20 7b 0a 20 20 66 6f 72 65 61 63 68 20  les {.  foreach
1240: 78 20 5b 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c  x [glob -nocompl
1250: 61 69 6e 20 24 66 69 6c 65 5d 20 7b 0a 20 20 20  ain $file] {. 1260: 20 6c 61 70 70 65 6e 64 20 6e 65 77 5f 65 78 74 lappend new_ext 1270: 72 61 5f 66 69 6c 65 73 20 24 78 0a 20 20 7d 0a ra_files$x.  }.
1280: 7d 0a 73 65 74 20 65 78 74 72 61 5f 66 69 6c 65  }.set extra_file
1290: 73 20 24 6e 65 77 5f 65 78 74 72 61 5f 66 69 6c  s $new_extra_fil 12a0: 65 73 0a 0a 23 23 23 23 23 23 23 23 23 23 23 23 es..############ 12b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 12c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 12d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 12e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 12f0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ##.############# 1300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1340: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 #.############## 1350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 1390: 0a 23 20 53 74 61 72 74 20 62 79 20 67 65 6e 65 .# Start by gene 13a0: 72 61 74 69 6e 67 20 74 68 65 20 22 6d 61 69 6e rating the "main 13b0: 2e 6d 6b 22 20 6d 61 6b 65 66 69 6c 65 20 75 73 .mk" makefile us 13c0: 65 64 20 66 6f 72 20 61 6c 6c 20 75 6e 69 78 20 ed for all unix 13d0: 73 79 73 74 65 6d 73 2e 0a 23 0a 70 75 74 73 20 systems..#.puts 13e0: 22 62 75 69 6c 64 69 6e 67 20 6d 61 69 6e 2e 6d "building main.m 13f0: 6b 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 k".set output_fi 1400: 6c 65 20 5b 6f 70 65 6e 20 6d 61 69 6e 2e 6d 6b le [open main.mk 1410: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 w].fconfigure$
1420: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61  output_file -tra
1430: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a  nslation binary.
1440: 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23 23 23  .writeln {#.####
1450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1490: 23 23 23 23 23 23 23 23 23 23 0a 23 20 57 41 52  ##########.# WAR
14a0: 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 44 49  NING: DO NOT EDI
14b0: 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c 4c 59  T, AUTOMATICALLY
14c0: 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c 45 20   GENERATED FILE
14d0: 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 6d 61  (SEE "src/makema
14e0: 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 23 23  ke.tcl").#######
14f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1530: 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68 69 73  #######.#.# This
1540: 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74   file is automat
1550: 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64  ically generated
1560: 2e 20 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64  .  Instead of ed
1570: 69 74 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c  iting this.# fil
1580: 65 2c 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b  e, edit "makemak
1590: 65 2e 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20  e.tcl" then run
15a0: 22 74 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e  "tclsh makemake.
15b0: 74 63 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65  tcl".# to regene
15c0: 72 61 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a  rate this file..
15d0: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73  #.# This file is
15e0: 20 69 6e 63 6c 75 64 65 64 20 62 79 20 70 72 69   included by pri
15f0: 6d 61 72 79 20 4d 61 6b 65 66 69 6c 65 2e 0a 23  mary Makefile..#
1600: 0a 0a 58 42 43 43 20 3d 20 24 28 42 43 43 29 20  ..XBCC = $(BCC) 1610: 24 28 42 43 43 46 4c 41 47 53 29 20 24 28 43 46$(BCCFLAGS) $(CF 1620: 4c 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54 LAGS).XTCC =$(T
1630: 43 43 29 20 2d 49 2e 20 2d 49 24 28 53 52 43 44  CC) -I. -I$(SRCD 1640: 49 52 29 20 2d 49 24 28 4f 42 4a 44 49 52 29 20 IR) -I$(OBJDIR)
1650: 24 28 54 43 43 46 4c 41 47 53 29 20 24 28 43 46  $(TCCFLAGS)$(CF
1660: 4c 41 47 53 29 0a 0a 7d 0a 77 72 69 74 65 6c 6e  LAGS)..}.writeln
1670: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43   -nonewline "SRC
1680: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c   =".foreach s [l
1690: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {. w 16a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin 16b0: 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 43 e " \\\n \$(SRC
16c0: 44 49 52 29 2f 24 73 2e 63 22 0a 7d 0a 77 72 69  DIR)/$s.c".}.wri 16d0: 74 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c teln "\n".writel 16e0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 45 58 n -nonewline "EX 16f0: 54 52 41 5f 46 49 4c 45 53 20 3d 22 0a 66 6f 72 TRA_FILES =".for 1700: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 65 each s [lsort$e
1710: 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a 20 20  xtra_files] {.
1720: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
1730: 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52  ne " \\\n  \$(SR 1740: 43 44 49 52 29 2f 24 73 22 0a 7d 0a 77 72 69 74 CDIR)/$s".}.writ
1750: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
1760: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 54 52 41   -nonewline "TRA
1770: 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  NS_SRC =".foreac
1780: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src] 1790: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f {. writeln -no 17a0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 newline " \\\n 17b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f \$(OBJDIR)/${s}_ 17c0: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c .c".}.writeln "\ 17d0: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 n".writeln -none 17e0: 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22 0a 66 6f wline "OBJ =".fo 17f0: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 reach s [lsort$
1800: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
1810: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
1820: 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  \n \$(OBJDIR)/$s
1830: 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .o".}.writeln "\
1840: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41 50 50 4e  n".writeln "APPN
1850: 41 4d 45 20 3d 20 24 6e 61 6d 65 5c 24 28 45 29  AME = $name\$(E)
1860: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 0a  ".writeln "\n"..
1870: 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20  writeln [string
1880: 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20 20  map [list \.
1890: 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e  <<<SQLITE_OPTION
18a0: 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c 49  S>>> [join $SQLI 18b0: 54 45 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c 5c TE_OPTIONS " \\\ 18c0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n 18d0: 20 20 22 5d 20 5c 0a 20 20 20 20 3c 3c 3c 53 48 "] \. <<<SH 18e0: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 20 5b ELL_OPTIONS>>> [ 18f0: 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 4f 50 54 49 join$SHELL_OPTI
1900: 4f 4e 53 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20  ONS " \\\n
1910: 20 20 20 20 20 20 20 20 20 20 22 5d 20 5c 0a 20            "] \.
1920: 20 20 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49     <<<MINIZ_OPTI
1930: 4f 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 4d 49  ONS>>> [join $MI 1940: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 22 20 5c 5c NIZ_OPTIONS " \\ 1950: 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \n 1960: 20 20 22 5d 5d 20 7b 0a 61 6c 6c 3a 09 24 28 4f "]] {.all:.$(O
1970: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45  BJDIR) $(APPNAME 1980: 29 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 41 50 )..install:.$(AP
1990: 50 4e 41 4d 45 29 0a 09 6d 6b 64 69 72 20 2d 70  PNAME)..mkdir -p
19a0: 20 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09   $(INSTALLDIR).. 19b0: 6d 76 20 24 28 41 50 50 4e 41 4d 45 29 20 24 28 mv$(APPNAME) $( 19c0: 49 4e 53 54 41 4c 4c 44 49 52 29 0a 0a 63 6f 64 INSTALLDIR)..cod 19d0: 65 63 68 65 63 6b 3a 09 24 28 54 52 41 4e 53 5f echeck:.$(TRANS_
19e0: 53 52 43 29 20 24 28 4f 42 4a 44 49 52 29 2f 63  SRC) $(OBJDIR)/c 19f0: 6f 64 65 63 68 65 63 6b 31 0a 09 24 28 4f 42 4a odecheck1..$(OBJ
1a00: 44 49 52 29 2f 63 6f 64 65 63 68 65 63 6b 31 20  DIR)/codecheck1
1a10: 24 28 54 52 41 4e 53 5f 53 52 43 29 0a 0a 24 28  $(TRANS_SRC)..$(
1a20: 4f 42 4a 44 49 52 29 3a 0a 09 2d 6d 6b 64 69 72  OBJDIR):..-mkdir
1a30: 20 24 28 4f 42 4a 44 49 52 29 0a 0a 24 28 4f 42   $(OBJDIR)..$(OB
1a40: 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 3a  JDIR)/translate:
1a50: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73  .$(SRCDIR)/trans 1a60: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20 late.c..$(XBCC)
1a70: 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 74 72 61  -o $(OBJDIR)/tra 1a80: 6e 73 6c 61 74 65 20 24 28 53 52 43 44 49 52 29 nslate$(SRCDIR)
1a90: 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28  /translate.c..$( 1aa0: 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 OBJDIR)/makehead 1ab0: 65 72 73 3a 09 24 28 53 52 43 44 49 52 29 2f 6d ers:.$(SRCDIR)/m
1ac0: 61 6b 65 68 65 61 64 65 72 73 2e 63 0a 09 24 28  akeheaders.c..$( 1ad0: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 XBCC) -o$(OBJDI
1ae0: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24  R)/makeheaders $1af0: 28 53 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 (SRCDIR)/makehea 1b00: 64 65 72 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 ders.c..$(OBJDIR
1b10: 29 2f 6d 6b 69 6e 64 65 78 3a 09 24 28 53 52 43  )/mkindex:.$(SRC 1b20: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09 DIR)/mkindex.c.. 1b30: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a$(XBCC) -o $(OBJ 1b40: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 20 24 28 53 DIR)/mkindex$(S
1b50: 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63  RCDIR)/mkindex.c
1b60: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 75  ..$(OBJDIR)/mkbu 1b70: 69 6c 74 69 6e 3a 09 24 28 53 52 43 44 49 52 29 iltin:.$(SRCDIR)
1b80: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28  /mkbuiltin.c..$( 1b90: 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 XBCC) -o$(OBJDI
1ba0: 52 29 2f 6d 6b 62 75 69 6c 74 69 6e 20 24 28 53  R)/mkbuiltin $(S 1bb0: 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 69 6e RCDIR)/mkbuiltin 1bc0: 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 6b .c..$(OBJDIR)/mk
1bd0: 76 65 72 73 69 6f 6e 3a 09 24 28 53 52 43 44 49  version:.$(SRCDI 1be0: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09 R)/mkversion.c.. 1bf0: 24 28 58 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a$(XBCC) -o $(OBJ 1c00: 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 DIR)/mkversion$
1c10: 28 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69  (SRCDIR)/mkversi
1c20: 6f 6e 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f  on.c..$(OBJDIR)/ 1c30: 6d 6b 63 73 73 3a 09 24 28 53 52 43 44 49 52 29 mkcss:.$(SRCDIR)
1c40: 2f 6d 6b 63 73 73 2e 63 0a 09 24 28 58 42 43 43  /mkcss.c..$(XBCC 1c50: 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29 2f 6d ) -o$(OBJDIR)/m
1c60: 6b 63 73 73 20 24 28 53 52 43 44 49 52 29 2f 6d  kcss $(SRCDIR)/m 1c70: 6b 63 73 73 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 kcss.c..$(OBJDIR
1c80: 29 2f 63 6f 64 65 63 68 65 63 6b 31 3a 09 24 28  )/codecheck1:.$( 1c90: 53 52 43 44 49 52 29 2f 63 6f 64 65 63 68 65 63 SRCDIR)/codechec 1ca0: 6b 31 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f k1.c..$(XBCC) -o
1cb0: 20 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63   $(OBJDIR)/codec 1cc0: 68 65 63 6b 31 20 24 28 53 52 43 44 49 52 29 2f heck1$(SRCDIR)/
1cd0: 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a 23 20  codecheck1.c..#
1ce0: 52 75 6e 20 74 68 65 20 74 65 73 74 20 73 75 69  Run the test sui
1cf0: 74 65 2e 0a 23 20 4f 74 68 65 72 20 66 6c 61 67  te..# Other flag
1d00: 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 69 6e  s that can be in
1d10: 63 6c 75 64 65 64 20 69 6e 20 54 45 53 54 46 4c  cluded in TESTFL
1d20: 41 47 53 20 61 72 65 3a 0a 23 0a 23 20 20 2d 68  AGS are:.#.#  -h
1d30: 61 6c 74 20 20 20 20 20 53 74 6f 70 20 74 65 73  alt     Stop tes
1d40: 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 66  ting after the f
1d50: 69 72 73 74 20 66 61 69 6c 65 64 20 74 65 73 74  irst failed test
1d60: 0a 23 20 20 2d 6b 65 65 70 20 20 20 20 20 4b 65  .#  -keep     Ke
1d70: 65 70 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79  ep the temporary
1d80: 20 77 6f 72 6b 73 70 61 63 65 20 66 6f 72 20 64   workspace for d
1d90: 65 62 75 67 67 69 6e 67 0a 23 20 20 2d 70 72 6f  ebugging.#  -pro
1da0: 74 20 20 20 20 20 57 72 69 74 65 20 61 20 64 65  t     Write a de
1db0: 74 61 69 6c 65 64 20 6c 6f 67 20 6f 66 20 74 68  tailed log of th
1dc0: 65 20 74 65 73 74 73 20 74 6f 20 74 68 65 20 66  e tests to the f
1dd0: 69 6c 65 20 2e 2f 70 72 6f 74 0a 23 20 20 2d 76  ile ./prot.#  -v
1de0: 65 72 62 6f 73 65 20 20 49 6e 63 6c 75 64 65 20  erbose  Include
1df0: 65 76 65 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c  even more detail
1e00: 73 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 0a  s in the output.
1e10: 23 20 20 2d 71 75 69 65 74 20 20 20 20 48 69 64  #  -quiet    Hid
1e20: 65 20 6d 6f 73 74 20 6f 75 74 70 75 74 20 66 72  e most output fr
1e30: 6f 6d 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 0a  om the terminal.
1e40: 23 20 20 2d 73 74 72 69 63 74 20 20 20 54 72 65  #  -strict   Tre
1e50: 61 74 20 6b 6e 6f 77 6e 20 62 75 67 73 20 61 73  at known bugs as
1e60: 20 66 61 69 6c 75 72 65 73 0a 23 0a 23 20 54 45   failures.#.# TE
1e70: 53 54 46 4c 41 47 53 20 63 61 6e 20 61 6c 73 6f  STFLAGS can also
1e80: 20 69 6e 63 6c 75 64 65 20 6e 61 6d 65 73 20 6f   include names o
1e90: 66 20 73 70 65 63 69 66 69 63 20 74 65 73 74 20  f specific test
1ea0: 66 69 6c 65 73 20 74 6f 20 6c 69 6d 69 74 0a 23  files to limit.#
1eb0: 20 74 68 65 20 72 75 6e 20 74 6f 20 6a 75 73 74   the run to just
1ec0: 20 74 68 6f 73 65 20 74 65 73 74 20 63 61 73 65   those test case
1ed0: 73 2e 0a 23 0a 74 65 73 74 3a 09 24 28 4f 42 4a  s..#.test:.$(OBJ 1ee0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a DIR)$(APPNAME).
1ef0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44  .$(TCLSH)$(SRCD
1f00: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74  IR)/../test/test
1f10: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45  er.tcl $(APPNAME 1f20: 29 20 2d 71 75 69 65 74 20 24 28 54 45 53 54 46 ) -quiet$(TESTF
1f30: 4c 41 47 53 29 0a 0a 24 28 4f 42 4a 44 49 52 29  LAGS)..$(OBJDIR) 1f40: 2f 56 45 52 53 49 4f 4e 2e 68 3a 09 24 28 53 52 /VERSION.h:.$(SR
1f50: 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73  CDIR)/../manifes
1f60: 74 2e 75 75 69 64 20 24 28 53 52 43 44 49 52 29  t.uuid $(SRCDIR) 1f70: 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 24 28 53 /../manifest$(S
1f80: 52 43 44 49 52 29 2f 2e 2e 2f 56 45 52 53 49 4f  RCDIR)/../VERSIO
1f90: 4e 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 76 65  N $(OBJDIR)/mkve 1fa0: 72 73 69 6f 6e 0a 09 24 28 4f 42 4a 44 49 52 29 rsion..$(OBJDIR)
1fb0: 2f 6d 6b 76 65 72 73 69 6f 6e 20 24 28 53 52 43  /mkversion $(SRC 1fc0: 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 DIR)/../manifest 1fd0: 2e 75 75 69 64 20 5c 0a 09 09 24 28 53 52 43 44 .uuid \...$(SRCD
1fe0: 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20  IR)/../manifest
1ff0: 5c 0a 09 09 24 28 53 52 43 44 49 52 29 2f 2e 2e  \...$(SRCDIR)/.. 2000: 2f 56 45 52 53 49 4f 4e 20 3e 24 28 4f 42 4a 44 /VERSION >$(OBJD
2010: 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 0a 0a 24  IR)/VERSION.h..$2020: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 (OBJDIR)/default 2030: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52 _css.h:.$(SRCDIR
2040: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )/default_css.tx
2050: 74 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 73  t $(OBJDIR)/mkcs 2060: 73 0a 09 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63 s..$(OBJDIR)/mkc
2070: 73 73 20 24 28 53 52 43 44 49 52 29 2f 64 65 66  ss $(SRCDIR)/def 2080: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 28 4f ault_css.txt$(O
2090: 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63  BJDIR)/default_c
20a0: 73 73 2e 68 0a 0a 23 20 53 65 74 75 70 20 74 68  ss.h..# Setup th
20b0: 65 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 74  e options used t
20c0: 6f 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 69 6e  o compile the in
20d0: 63 6c 75 64 65 64 20 53 51 4c 69 74 65 20 6c 69  cluded SQLite li
20e0: 62 72 61 72 79 2e 0a 53 51 4c 49 54 45 5f 4f 50  brary..SQLITE_OP
20f0: 54 49 4f 4e 53 20 3d 20 3c 3c 3c 53 51 4c 49 54  TIONS = <<<SQLIT
2100: 45 5f 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20  E_OPTIONS>>>..#
2110: 53 65 74 75 70 20 74 68 65 20 6f 70 74 69 6f 6e  Setup the option
2120: 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c  s used to compil
2130: 65 20 74 68 65 20 69 6e 63 6c 75 64 65 64 20 53  e the included S
2140: 51 4c 69 74 65 20 73 68 65 6c 6c 2e 0a 53 48 45  QLite shell..SHE
2150: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 3c 3c 3c  LL_OPTIONS = <<<
2160: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e  SHELL_OPTIONS>>>
2170: 0a 0a 23 20 53 65 74 75 70 20 74 68 65 20 6f 70  ..# Setup the op
2180: 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 20 63 6f  tions used to co
2190: 6d 70 69 6c 65 20 74 68 65 20 69 6e 63 6c 75 64  mpile the includ
21a0: 65 64 20 6d 69 6e 69 7a 20 6c 69 62 72 61 72 79  ed miniz library
21b0: 2e 0a 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20  ..MINIZ_OPTIONS
21c0: 3d 20 3c 3c 3c 4d 49 4e 49 5a 5f 4f 50 54 49 4f  = <<<MINIZ_OPTIO
21d0: 4e 53 3e 3e 3e 0a 0a 23 20 54 68 65 20 55 53 45  NS>>>..# The USE
21e0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 76  _SYSTEM_SQLITE v
21f0: 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75  ariable may be u
2200: 6e 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f  ndefined, set to
2210: 20 30 2c 20 6f 72 20 73 65 74 0a 23 20 74 6f 20   0, or set.# to
2220: 31 2e 20 49 66 20 69 74 20 69 73 20 73 65 74 20  1. If it is set
2230: 74 6f 20 31 2c 20 74 68 65 6e 20 74 68 65 72 65  to 1, then there
2240: 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 62   is no need to b
2250: 75 69 6c 64 20 6f 72 20 6c 69 6e 6b 0a 23 20 74  uild or link.# t
2260: 68 65 20 73 71 6c 69 74 65 33 2e 6f 20 6f 62 6a  he sqlite3.o obj
2270: 65 63 74 2e 20 49 6e 73 74 65 61 64 2c 20 74 68  ect. Instead, th
2280: 65 20 73 79 73 74 65 6d 20 53 51 4c 69 74 65 20  e system SQLite
2290: 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 0a 23  will be linked.#
22a0: 20 75 73 69 6e 67 20 2d 6c 73 71 6c 69 74 65 33   using -lsqlite3
22b0: 2e 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 30 20  ..SQLITE3_OBJ.0
22c0: 3d 20 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69  = $(OBJDIR)/sqli 22d0: 74 65 33 2e 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 te3.o.SQLITE3_OB 22e0: 4a 2e 31 20 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 J.1 =.SQLITE3_OB 22f0: 4a 2e 20 20 3d 20 24 28 53 51 4c 49 54 45 33 5f J. =$(SQLITE3_
2300: 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 65 20 46 4f  OBJ.0)..# The FO
2310: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49  SSIL_ENABLE_MINI
2320: 5a 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62  Z variable may b
2330: 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73 65 74  e undefined, set
2340: 20 74 6f 20 30 2c 20 6f 72 0a 23 20 73 65 74 20   to 0, or.# set
2350: 74 6f 20 31 2e 20 20 49 66 20 69 74 20 69 73 20  to 1.  If it is
2360: 73 65 74 20 74 6f 20 31 2c 20 74 68 65 20 6d 69  set to 1, the mi
2370: 6e 69 7a 20 6c 69 62 72 61 72 79 20 69 6e 63 6c  niz library incl
2380: 75 64 65 64 20 69 6e 20 74 68 65 0a 23 20 73 6f  uded in the.# so
2390: 75 72 63 65 20 74 72 65 65 20 73 68 6f 75 6c 64  urce tree should
23a0: 20 62 65 20 75 73 65 64 3b 20 6f 74 68 65 72 77   be used; otherw
23b0: 69 73 65 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e  ise, it should n
23c0: 6f 74 2e 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20  ot..MINIZ_OBJ.0
23d0: 3d 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20  =.MINIZ_OBJ.1 =
23e0: 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e  $(OBJDIR)/miniz. 23f0: 6f 0a 4d 49 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 o.MINIZ_OBJ. = 2400: 24 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a$(MINIZ_OBJ.0)..
2410: 23 20 54 68 65 20 55 53 45 5f 4c 49 4e 45 4e 4f  # The USE_LINENO
2420: 49 53 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79  ISE variable may
2430: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 73   be undefined, s
2440: 65 74 20 74 6f 20 30 2c 20 6f 72 20 73 65 74 0a  et to 0, or set.
2450: 23 20 74 6f 20 31 2e 20 49 66 20 69 74 20 69 73  # to 1. If it is
2460: 20 73 65 74 20 74 6f 20 30 2c 20 74 68 65 6e 20   set to 0, then
2470: 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64  there is no need
2480: 20 74 6f 20 62 75 69 6c 64 20 6f 72 20 6c 69 6e   to build or lin
2490: 6b 0a 23 20 74 68 65 20 6c 69 6e 65 6e 6f 69 73  k.# the linenois
24a0: 65 2e 6f 20 6f 62 6a 65 63 74 2e 0a 4c 49 4e 45  e.o object..LINE
24b0: 4e 4f 49 53 45 5f 44 45 46 2e 30 20 3d 0a 4c 49  NOISE_DEF.0 =.LI
24c0: 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 31 20 3d 20  NENOISE_DEF.1 =
24d0: 2d 44 48 41 56 45 5f 4c 49 4e 45 4e 4f 49 53 45  -DHAVE_LINENOISE
24e0: 0a 4c 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 20  .LINENOISE_DEF.
24f0: 20 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 44   = $(LINENOISE_D 2500: 45 46 2e 30 29 0a 4c 49 4e 45 4e 4f 49 53 45 5f EF.0).LINENOISE_ 2510: 4f 42 4a 2e 30 20 3d 0a 4c 49 4e 45 4e 4f 49 53 OBJ.0 =.LINENOIS 2520: 45 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 4a 44 E_OBJ.1 =$(OBJD
2530: 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 2e 6f 0a  IR)/linenoise.o.
2540: 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 20 20  LINENOISE_OBJ.
2550: 3d 20 24 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42  = $(LINENOISE_OB 2560: 4a 2e 30 29 0a 0a 23 20 54 68 65 20 55 53 45 5f J.0)..# The USE_ 2570: 53 45 45 20 76 61 72 69 61 62 6c 65 20 6d 61 79 SEE variable may 2580: 20 62 65 20 75 6e 64 65 66 69 6e 65 64 2c 20 30 be undefined, 0 2590: 20 6f 72 20 31 2e 20 20 49 66 20 75 6e 64 65 66 or 1. If undef 25a0: 69 6e 65 64 20 6f 72 0a 23 20 30 2c 20 6f 72 64 ined or.# 0, ord 25b0: 69 6e 61 72 79 20 53 51 4c 69 74 65 20 69 73 20 inary SQLite is 25c0: 75 73 65 64 2e 20 20 49 66 20 31 2c 20 74 68 65 used. If 1, the 25d0: 6e 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 20 n sqlite3-see.c 25e0: 28 6e 6f 74 20 70 61 72 74 20 6f 66 0a 23 20 74 (not part of.# t 25f0: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 20 he source tree) 2600: 69 73 20 75 73 65 64 20 61 6e 64 20 65 78 74 72 is used and extr 2610: 61 20 66 6c 61 67 73 20 61 72 65 20 70 72 6f 76 a flags are prov 2620: 69 64 65 64 20 74 6f 20 65 6e 61 62 6c 65 0a 23 ided to enable.# 2630: 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 72 the SQLite Encr 2640: 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e yption Extension 2650: 2e 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 30 20 ..SQLITE3_SRC.0 2660: 3d 20 73 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49 = sqlite3.c.SQLI 2670: 54 45 33 5f 53 52 43 2e 31 20 3d 20 73 71 6c 69 TE3_SRC.1 = sqli 2680: 74 65 33 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 te3-see.c.SQLITE 2690: 33 5f 53 52 43 2e 20 3d 20 73 71 6c 69 74 65 33 3_SRC. = sqlite3 26a0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 20 3d .c.SQLITE3_SRC = 26b0: 20 24 28 53 52 43 44 49 52 29 2f 24 28 53 51 4c$(SRCDIR)/$(SQL 26c0: 49 54 45 33 5f 53 52 43 2e 24 28 55 53 45 5f 53 ITE3_SRC.$(USE_S
26d0: 45 45 29 29 0a 53 51 4c 49 54 45 33 5f 53 48 45  EE)).SQLITE3_SHE
26e0: 4c 4c 5f 53 52 43 2e 30 20 3d 20 73 68 65 6c 6c  LL_SRC.0 = shell
26f0: 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c  .c.SQLITE3_SHELL
2700: 5f 53 52 43 2e 31 20 3d 20 73 68 65 6c 6c 2d 73  _SRC.1 = shell-s
2710: 65 65 2e 63 0a 53 51 4c 49 54 45 33 5f 53 48 45  ee.c.SQLITE3_SHE
2720: 4c 4c 5f 53 52 43 2e 20 3d 20 73 68 65 6c 6c 2e  LL_SRC. = shell.
2730: 63 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f  c.SQLITE3_SHELL_
2740: 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 2f  SRC = $(SRCDIR)/ 2750: 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f$(SQLITE3_SHELL_
2760: 53 52 43 2e 24 28 55 53 45 5f 53 45 45 29 29 0a  SRC.$(USE_SEE)). 2770: 53 45 45 5f 46 4c 41 47 53 2e 30 20 3d 0a 53 45 SEE_FLAGS.0 =.SE 2780: 45 5f 46 4c 41 47 53 2e 31 20 3d 20 2d 44 53 51 E_FLAGS.1 = -DSQ 2790: 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 20 2d LITE_HAS_CODEC - 27a0: 44 53 51 4c 49 54 45 5f 53 48 45 4c 4c 5f 44 42 DSQLITE_SHELL_DB 27b0: 4b 45 59 5f 50 52 4f 43 3d 66 6f 73 73 69 6c 5f KEY_PROC=fossil_ 27c0: 6b 65 79 0a 53 45 45 5f 46 4c 41 47 53 2e 20 3d key.SEE_FLAGS. = 27d0: 0a 53 45 45 5f 46 4c 41 47 53 20 3d 20 24 28 53 .SEE_FLAGS =$(S
27e0: 45 45 5f 46 4c 41 47 53 2e 24 28 55 53 45 5f 53  EE_FLAGS.$(USE_S 27f0: 45 45 29 29 0a 7d 5d 0a 0a 77 72 69 74 65 6c 6e EE)).}]..writeln 2800: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 [string map [li 2810: 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e st <<<NEXT_LINE> 2820: 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 54 52 41 4f 42 >> \\] {.EXTRAOB 2830: 4a 20 3d 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 J = <<<NEXT_LINE 2840: 3e 3e 3e 0a 20 24 28 53 51 4c 49 54 45 33 5f 4f >>>.$(SQLITE3_O
2850: 42 4a 2e 24 28 55 53 45 5f 53 59 53 54 45 4d 5f  BJ.$(USE_SYSTEM_ 2860: 53 51 4c 49 54 45 29 29 20 3c 3c 3c 4e 45 58 54 SQLITE)) <<<NEXT 2870: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4d 49 4e 49 _LINE>>>.$(MINI
2880: 5a 5f 4f 42 4a 2e 24 28 46 4f 53 53 49 4c 5f 45  Z_OBJ.$(FOSSIL_E 2890: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 29 29 20 3c 3c NABLE_MINIZ)) << 28a0: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 <NEXT_LINE>>>.$
28b0: 28 4c 49 4e 45 4e 4f 49 53 45 5f 4f 42 4a 2e 24  (LINENOISE_OBJ.$28c0: 28 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29 (USE_LINENOISE)) 28d0: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e <<<NEXT_LINE>>> 28e0: 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68 65 6c .$(OBJDIR)/shel
28f0: 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45  l.o <<<NEXT_LINE
2900: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74  >>>. $(OBJDIR)/t 2910: 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 h.o <<<NEXT_LINE 2920: 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 74 >>>.$(OBJDIR)/t
2930: 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45 58 54  h_lang.o <<<NEXT
2940: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44  _LINE>>>. $(OBJD 2950: 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c 3c 3c IR)/th_tcl.o <<< 2960: 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 NEXT_LINE>>>.$(
2970: 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61  OBJDIR)/cson_ama
2980: 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d 0a 0a  lgamation.o.}]..
2990: 77 72 69 74 65 6c 6e 20 7b 0a 24 28 41 50 50 4e  writeln {.$(APPN 29a0: 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49 52 29 2f AME):.$(OBJDIR)/
29b0: 68 65 61 64 65 72 73 20 24 28 4f 42 4a 44 49 52  headers $(OBJDIR 29c0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 20 24 28 4f )/codecheck1$(O
29d0: 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 0a  BJ) $(EXTRAOBJ). 29e0: 09 24 28 4f 42 4a 44 49 52 29 2f 63 6f 64 65 63 .$(OBJDIR)/codec
29f0: 68 65 63 6b 31 20 24 28 54 52 41 4e 53 5f 53 52  heck1 $(TRANS_SR 2a00: 43 29 0a 09 24 28 54 43 43 29 20 2d 6f 20 24 28 C)..$(TCC) -o $( 2a10: 41 50 50 4e 41 4d 45 29 20 24 28 4f 42 4a 29 20 APPNAME)$(OBJ)
2a20: 24 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4c 49  $(EXTRAOBJ)$(LI
2a30: 42 29 0a 0a 23 20 54 68 69 73 20 72 75 6c 65 20  B)..# This rule
2a40: 70 72 65 76 65 6e 74 73 20 6d 61 6b 65 20 66 72  prevents make fr
2a50: 6f 6d 20 75 73 69 6e 67 20 69 74 73 20 64 65 66  om using its def
2a60: 61 75 6c 74 20 72 75 6c 65 73 20 74 6f 20 74 72  ault rules to tr
2a70: 79 20 62 75 69 6c 64 0a 23 20 61 6e 20 65 78 65  y build.# an exe
2a80: 63 75 74 61 62 6c 65 20 6e 61 6d 65 64 20 22 6d  cutable named "m
2a90: 61 6e 69 66 65 73 74 22 20 6f 75 74 20 6f 66 20  anifest" out of
2aa0: 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 22  the file named "
2ab0: 6d 61 6e 69 66 65 73 74 2e 63 22 0a 23 0a 24 28  manifest.c".#.$( 2ac0: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 SRCDIR)/../manif 2ad0: 65 73 74 3a 0a 09 23 20 6e 6f 6f 70 0a 0a 63 6c est:..# noop..cl 2ae0: 65 61 6e 3a 0a 09 72 6d 20 2d 72 66 20 24 28 4f ean:..rm -rf$(O
2af0: 42 4a 44 49 52 29 2f 2a 20 24 28 41 50 50 4e 41  BJDIR)/* $(APPNA 2b00: 4d 45 29 0a 0a 7d 0a 0a 73 65 74 20 6d 68 61 72 ME)..}..set mhar 2b10: 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73 20 gs {}.foreach s 2b20: 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 [lsort$src] {.
2b30: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22   append mhargs "
2b40: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
2b50: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  .c:\$(OBJDIR)/$s
2b60: 2e 68 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e  .h <<<NEXT_LINE>
2b70: 3e 3e 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f  >>".  set extra_
2b80: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65  h($s) { }.}.appe 2b90: 6e 64 20 6d 68 61 72 67 73 20 22 5c 24 28 53 52 nd mhargs "\$(SR
2ba0: 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 68 20  CDIR)/sqlite3.h
2bb0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22  <<<NEXT_LINE>>>"
2bc0: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22  .append mhargs "
2bd0: 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 68 20  \$(SRCDIR)/th.h 2be0: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22 <<<NEXT_LINE>>>" 2bf0: 0a 23 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 .#append mhargs 2c00: 22 5c 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e "\$(SRCDIR)/cson
2c10: 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 68 20  _amalgamation.h
2c20: 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 22  <<<NEXT_LINE>>>"
2c30: 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22  .append mhargs "
2c40: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  \$(OBJDIR)/VERSI 2c50: 4f 4e 2e 68 20 22 0a 73 65 74 20 6d 68 61 72 67 ON.h ".set mharg 2c60: 73 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c s [string map [l 2c70: 69 73 74 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 ist <<<NEXT_LINE 2c80: 3e 3e 3e 20 5c 5c 5c 6e 5c 74 5d 20 24 6d 68 61 >>> \\\n\t]$mha
2c90: 72 67 73 5d 0a 77 72 69 74 65 6c 6e 20 22 5c 24  rgs].writeln "\$2ca0: 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e (OBJDIR)/page_in 2cb0: 64 65 78 2e 68 3a 20 5c 24 28 54 52 41 4e 53 5f dex.h: \$(TRANS_
2cc0: 53 52 43 29 20 5c 24 28 4f 42 4a 44 49 52 29 2f  SRC) \$(OBJDIR)/ 2cd0: 6d 6b 69 6e 64 65 78 22 0a 77 72 69 74 65 6c 6e mkindex".writeln 2ce0: 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d "\t\$(OBJDIR)/m
2cf0: 6b 69 6e 64 65 78 20 5c 24 28 54 52 41 4e 53 5f  kindex \$(TRANS_ 2d00: 53 52 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 SRC) >\$@\n"..wr
2d10: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR 2d20: 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 )/builtin_data.h 2d30: 3a 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62 : \$(OBJDIR)/mkb
2d40: 75 69 6c 74 69 6e 20 5c 24 28 45 58 54 52 41 5f  uiltin \$(EXTRA_ 2d50: 46 49 4c 45 53 29 22 0a 77 72 69 74 65 6c 6e 20 FILES)".writeln 2d60: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b "\t\$(OBJDIR)/mk
2d70: 62 75 69 6c 74 69 6e 20 2d 2d 70 72 65 66 69 78  builtin --prefix
2d80: 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24 28   \$(SRCDIR)/ \$(
2d90: 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c 24  EXTRA_FILES) >\$2da0: 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c @\n"..writeln "\ 2db0: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72$(OBJDIR)/header
2dc0: 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 70  s:\t\$(OBJDIR)/p 2dd0: 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28 4f age_index.h \$(O
2de0: 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64  BJDIR)/builtin_d
2df0: 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52 29  ata.h \$(OBJDIR) 2e00: 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 5c /default_css.h \ 2e10: 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65$(OBJDIR)/makehe
2e20: 61 64 65 72 73 20 5c 24 28 4f 42 4a 44 49 52 29  aders \$(OBJDIR) 2e30: 2f 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 /VERSION.h".writ 2e40: 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 eln "\t\$(OBJDIR
2e50: 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24 6d  )/makeheaders $m 2e60: 68 61 72 67 73 22 0a 77 72 69 74 65 6c 6e 20 22 hargs".writeln " 2e70: 5c 74 74 6f 75 63 68 20 5c 24 28 4f 42 4a 44 49 \ttouch \$(OBJDI
2e80: 52 29 2f 68 65 61 64 65 72 73 22 0a 77 72 69 74  R)/headers".writ
2e90: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/ 2ea0: 68 65 61 64 65 72 73 3a 20 4d 61 6b 65 66 69 6c headers: Makefil 2eb0: 65 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f e".writeln "\$(O
2ec0: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24  BJDIR)/json.o \$2ed0: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72 (OBJDIR)/json_ar 2ee0: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44 tifact.o \$(OBJD
2ef0: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e  IR)/json_branch.
2f00: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 2f10: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42 n_config.o \$(OB
2f20: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e  JDIR)/json_diff.
2f30: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 2f40: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_dir.o \$(OBJDI
2f50: 52 29 2f 6a 73 6f 6e 5f 66 69 6e 66 6f 2e 6f 20  R)/json_finfo.o
2f60: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_ 2f70: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49 login.o \$(OBJDI
2f80: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20  R)/json_query.o
2f90: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_ 2fa0: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44 report.o \$(OBJD
2fb0: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e  IR)/json_status.
2fc0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 2fd0: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_tag.o \$(OBJDI
2fe0: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65  R)/json_timeline
2ff0: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js 3000: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a on_user.o \$(OBJ
3010: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f  DIR)/json_wiki.o
3020: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73   : \$(SRCDIR)/js 3030: 6f 6e 5f 64 65 74 61 69 6c 2e 68 22 0a 77 72 69 on_detail.h".wri 3040: 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 3a 22 teln "Makefile:" 3050: 0a 73 65 74 20 65 78 74 72 61 5f 68 28 64 69 73 .set extra_h(dis 3060: 70 61 74 63 68 29 20 22 20 5c 24 28 4f 42 4a 44 patch) " \$(OBJD
3070: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68  IR)/page_index.h
3080: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62   ".set extra_h(b
3090: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a  uiltin) " \$(OBJ 30a0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 DIR)/builtin_dat 30b0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f a.h ".set extra_ 30c0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42 h(style) " \$(OB
30d0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73  JDIR)/default_cs
30e0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73  s.h "..foreach s
30f0: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {. 3100: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 writeln "\$(OB
3110: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74  JDIR)/${s}_.c:\t 3120: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20 \$(SRCDIR)/$s.c 3130: 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 \$(OBJDIR)/trans
3140: 6c 61 74 65 22 0a 20 20 77 72 69 74 65 6c 6e 20  late".  writeln
3150: 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72  "\t\$(OBJDIR)/tr 3160: 61 6e 73 6c 61 74 65 20 5c 24 28 53 52 43 44 49 anslate \$(SRCDI
3170: 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e 22 0a  R)/$s.c >\$@\n".
3180: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42    writeln "\$(OB 3190: 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c 24 28 JDIR)/$s.o:\t\$( 31a0: 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 20 OBJDIR)/${s}_.c
31b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 68 24  \$(OBJDIR)/$s.h$31c0: 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28 53 52 extra_h($s)\$(SR 31d0: 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68 22 0a CDIR)/config.h". 31e0: 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 writeln "\t\$(
31f0: 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42 4a 44  XTCC) -o \$(OBJD 3200: 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24 28 4f IR)/$s.o -c \$(O 3210: 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e BJDIR)/${s}_.c\n
3220: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28  ".  writeln "\$( 3230: 4f 42 4a 44 49 52 29 2f 24 73 2e 68 3a 5c 74 5c OBJDIR)/$s.h:\t\
3240: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header 3250: 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 s\n".}..writeln 3260: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c 69 "\$(OBJDIR)/sqli
3270: 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 51 4c 49 54  te3.o:\t\$(SQLIT 3280: 45 33 5f 53 52 43 29 22 0a 77 72 69 74 65 6c 6e E3_SRC)".writeln 3290: 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28 "\t\$(XTCC) \$( 32a0: 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20 SQLITE_OPTIONS) 32b0: 5c 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47 53 \$(SQLITE_CFLAGS
32c0: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20  ) \$(SEE_FLAGS) 32d0: 5c 5c 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c \\".writeln "\t\ 32e0: 74 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 t-c \$(SQLITE3_S
32f0: 52 43 29 20 2d 6f 20 5c 24 40 22 0a 0a 77 72 69  RC) -o \$@"..wri 3300: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 teln "\$(OBJDIR)
3310: 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24 28 53 51  /shell.o:\t\$(SQ 3320: 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 LITE3_SHELL_SRC) 3330: 20 5c 24 28 53 52 43 44 49 52 29 2f 73 71 6c 69 \$(SRCDIR)/sqli
3340: 74 65 33 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22  te3.h".writeln "
3350: 5c 74 5c 24 28 58 54 43 43 29 20 5c 24 28 53 48  \t\$(XTCC) \$(SH
3360: 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28  ELL_OPTIONS) \$( 3370: 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29 20 5c 24 SHELL_CFLAGS) \$
3380: 28 53 45 45 5f 46 4c 41 47 53 29 20 5c 24 28 4c  (SEE_FLAGS) \$(L 3390: 49 4e 45 4e 4f 49 53 45 5f 44 45 46 2e 5c 24 28 INENOISE_DEF.\$(
33a0: 55 53 45 5f 4c 49 4e 45 4e 4f 49 53 45 29 29 20  USE_LINENOISE))
33b0: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48  -c \$(SQLITE3_SH 33c0: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c ELL_SRC) -o \$@\
33d0: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  n"..writeln "\$( 33e0: 4f 42 4a 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 OBJDIR)/linenois 33f0: 65 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 e.o:\t\$(SRCDIR)
3400: 2f 6c 69 6e 65 6e 6f 69 73 65 2e 63 20 5c 24 28  /linenoise.c \$( 3410: 53 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 SRCDIR)/linenois 3420: 65 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 e.h".writeln "\t 3430: 5c 24 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 \$(XTCC) -c \$(S 3440: 52 43 44 49 52 29 2f 6c 69 6e 65 6e 6f 69 73 65 RCDIR)/linenoise 3450: 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 .c -o \$@\n"..wr
3460: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR 3470: 29 2f 74 68 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 )/th.o:\t\$(SRCD
3480: 49 52 29 2f 74 68 2e 63 22 0a 77 72 69 74 65 6c  IR)/th.c".writel
3490: 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63  n "\t\$(XTCC) -c 34a0: 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63 \$(SRCDIR)/th.c
34b0: 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74   -o \$@\n"..writ 34c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f eln "\$(OBJDIR)/
34d0: 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c 24 28 53  th_lang.o:\t\$(S 34e0: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 RCDIR)/th_lang.c 34f0: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 ".writeln "\t\$(
3500: 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44  XTCC) -c \$(SRCD 3510: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 20 2d 6f IR)/th_lang.c -o 3520: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
3530: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f   "\$(OBJDIR)/th_ 3540: 74 63 6c 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 tcl.o:\t\$(SRCDI
3550: 52 29 2f 74 68 5f 74 63 6c 2e 63 22 0a 77 72 69  R)/th_tcl.c".wri
3560: 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29  teln "\t\$(XTCC) 3570: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 74 -c \$(SRCDIR)/t
3580: 68 5f 74 63 6c 2e 63 20 2d 6f 20 5c 24 40 5c 6e  h_tcl.c -o \$@\n 3590: 22 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 4f "..writeln {.$(O
35a0: 42 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 3a 09  BJDIR)/miniz.o:.
35b0: 24 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e  $(SRCDIR)/miniz. 35c0: 63 0a 09 24 28 58 54 43 43 29 20 24 28 4d 49 4e c..$(XTCC) $(MIN 35d0: 49 5a 5f 4f 50 54 49 4f 4e 53 29 20 2d 63 20 24 IZ_OPTIONS) -c$
35e0: 28 53 52 43 44 49 52 29 2f 6d 69 6e 69 7a 2e 63  (SRCDIR)/miniz.c
35f0: 20 2d 6f 20 24 40 0a 0a 24 28 4f 42 4a 44 49 52   -o $@..$(OBJDIR
3600: 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74  )/cson_amalgamat
3610: 69 6f 6e 2e 6f 3a 20 24 28 53 52 43 44 49 52 29  ion.o: $(SRCDIR) 3620: 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 /cson_amalgamati 3630: 6f 6e 2e 63 0a 09 24 28 58 54 43 43 29 20 2d 63 on.c..$(XTCC) -c
3640: 20 24 28 53 52 43 44 49 52 29 2f 63 73 6f 6e 5f   $(SRCDIR)/cson_ 3650: 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 63 20 2d amalgamation.c - 3660: 6f 20 24 40 0a 0a 23 0a 23 20 54 68 65 20 6c 69 o$@..#.# The li
3670: 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 74 61  st of all the ta
3680: 72 67 65 74 73 20 74 68 61 74 20 64 6f 20 6e 6f  rgets that do no
3690: 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20  t correspond to
36a0: 72 65 61 6c 20 66 69 6c 65 73 2e 20 54 68 69 73  real files. This
36b0: 20 73 74 6f 70 73 0a 23 20 27 6d 61 6b 65 27 20   stops.# 'make'
36c0: 66 72 6f 6d 20 67 65 74 74 69 6e 67 20 63 6f 6e  from getting con
36d0: 66 75 73 65 64 20 77 68 65 6e 20 73 6f 6d 65 6f  fused when someo
36e0: 6e 65 20 6d 61 6b 65 73 20 61 6e 20 65 72 72 6f  ne makes an erro
36f0: 72 20 69 6e 20 61 20 72 75 6c 65 2e 0a 23 0a 0a  r in a rule..#..
3700: 2e 50 48 4f 4e 59 3a 20 61 6c 6c 20 69 6e 73 74  .PHONY: all inst
3710: 61 6c 6c 20 74 65 73 74 20 63 6c 65 61 6e 0a 7d  all test clean.}
3720: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f  ..close $output_ 3730: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 file.#.# End of 3740: 74 68 65 20 6d 61 69 6e 2e 6d 6b 20 6f 75 74 70 the main.mk outp 3750: 75 74 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 ut.############# 3760: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3770: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 37a0: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 #.############## 37b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 37c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 37d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 37e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 37f0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 .############### 3800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3810: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3820: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 3830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a ###############. 3840: 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 # Begin win/Make 3850: 66 69 6c 65 2e 6d 69 6e 67 77 20 6f 75 74 70 75 file.mingw outpu 3860: 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64 69 t.#.puts "buildi 3870: 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 ng ../win/Makefi 3880: 6c 65 2e 6d 69 6e 67 77 22 0a 73 65 74 20 6f 75 le.mingw".set ou 3890: 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 tput_file [open 38a0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e ../win/Makefile. 38b0: 6d 69 6e 67 77 20 77 5d 0a 66 63 6f 6e 66 69 67 mingw w].fconfig 38c0: 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 ure$output_file
38d0: 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69   -translation bi
38e0: 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23  nary..writeln {#
38f0: 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b 65 0a 23  !/usr/bin/make.#
3900: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
3910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3920: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3940: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
3950: 23 20 57 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f  # WARNING: DO NO
3960: 54 20 45 44 49 54 2c 20 41 55 54 4f 4d 41 54 49  T EDIT, AUTOMATI
3970: 43 41 4c 4c 59 20 47 45 4e 45 52 41 54 45 44 20  CALLY GENERATED
3980: 46 49 4c 45 20 28 53 45 45 20 22 73 72 63 2f 6d  FILE (SEE "src/m
3990: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23  akemake.tcl").##
39a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
39e0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23  ############.#.#
39f0: 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75   This file is au
3a00: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
3a10: 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20  rated.  Instead
3a20: 6f 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a  of editing this.
3a30: 23 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61  # file, edit "ma
3a40: 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e  kemake.tcl" then
3a50: 20 72 75 6e 20 22 74 63 6c 73 68 20 6d 61 6b 65   run "tclsh make
3a60: 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74 6f 20 72  make.tcl".# to r
3a70: 65 67 65 6e 65 72 61 74 65 20 74 68 69 73 20 66  egenerate this f
3a80: 69 6c 65 2e 0a 23 0a 23 20 54 68 69 73 20 69 73  ile..#.# This is
3a90: 20 61 20 6d 61 6b 65 66 69 6c 65 20 66 6f 72 20   a makefile for
3aa0: 75 73 65 20 6f 6e 20 43 79 67 77 69 6e 2f 44 61  use on Cygwin/Da
3ab0: 72 77 69 6e 2f 46 72 65 65 42 53 44 2f 4c 69 6e  rwin/FreeBSD/Lin
3ac0: 75 78 2f 57 69 6e 64 6f 77 73 20 75 73 69 6e 67  ux/Windows using
3ad0: 0a 23 20 4d 69 6e 47 57 20 6f 72 20 4d 69 6e 47  .# MinGW or MinG
3ae0: 57 2d 77 36 34 2e 0a 23 0a 23 20 53 6f 6d 65 20  W-w64..#.# Some
3af0: 6f 66 20 74 68 65 20 73 70 65 63 69 61 6c 20 6f  of the special o
3b00: 70 74 69 6f 6e 73 20 77 68 69 63 68 20 63 61 6e  ptions which can
3b10: 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 6d 61   be passed to ma
3b20: 6b 65 0a 23 20 20 20 55 53 45 5f 57 49 4e 44 4f  ke.#   USE_WINDO
3b30: 57 53 3d 31 20 20 20 20 69 66 20 62 75 69 6c 64  WS=1    if build
3b40: 69 6e 67 20 75 6e 64 65 72 20 61 20 77 69 6e 64  ing under a wind
3b50: 6f 77 73 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 6d  ows command prom
3b60: 70 74 0a 23 20 20 20 58 36 34 3d 31 20 20 20 20  pt.#   X64=1
3b70: 20 20 20 20 20 20 20 20 69 66 20 75 73 69 6e 67          if using
3b80: 20 61 6e 20 75 6e 70 72 65 66 69 78 65 64 20 36   an unprefixed 6
3b90: 34 2d 62 69 74 20 6d 69 6e 67 77 20 63 6f 6d 70  4-bit mingw comp
3ba0: 69 6c 65 72 0a 23 0a 0a 23 23 23 23 20 53 65 6c  iler.#..#### Sel
3bb0: 65 63 74 20 6f 6e 65 20 6f 66 20 4d 69 6e 47 57  ect one of MinGW
3bc0: 2c 20 4d 69 6e 47 57 2d 77 36 34 20 28 33 32 2d  , MinGW-w64 (32-
3bd0: 62 69 74 29 20 6f 72 20 4d 69 6e 47 57 2d 77 36  bit) or MinGW-w6
3be0: 34 20 28 36 34 2d 62 69 74 29 20 63 6f 6d 70 69  4 (64-bit) compi
3bf0: 6c 65 72 73 2e 0a 23 20 20 20 20 42 79 20 64 65  lers..#    By de
3c00: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 61  fault, this is a
3c10: 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 28  n empty string (
3c20: 69 2e 65 2e 20 75 73 65 20 74 68 65 20 6e 61 74  i.e. use the nat
3c30: 69 76 65 20 63 6f 6d 70 69 6c 65 72 29 2e 0a 23  ive compiler)..#
3c40: 0a 50 52 45 46 49 58 20 3d 0a 23 20 50 52 45 46  .PREFIX =.# PREF
3c50: 49 58 20 3d 20 6d 69 6e 67 77 33 32 2d 0a 23 20  IX = mingw32-.#
3c60: 50 52 45 46 49 58 20 3d 20 69 36 38 36 2d 70 63  PREFIX = i686-pc
3c70: 2d 6d 69 6e 67 77 33 32 2d 0a 23 20 50 52 45 46  -mingw32-.# PREF
3c80: 49 58 20 3d 20 69 36 38 36 2d 77 36 34 2d 6d 69  IX = i686-w64-mi
3c90: 6e 67 77 33 32 2d 0a 23 20 50 52 45 46 49 58 20  ngw32-.# PREFIX
3ca0: 3d 20 78 38 36 5f 36 34 2d 77 36 34 2d 6d 69 6e  = x86_64-w64-min
3cb0: 67 77 33 32 2d 0a 0a 23 23 23 23 20 54 68 65 20  gw32-..#### The
3cc0: 74 6f 70 6c 65 76 65 6c 20 64 69 72 65 63 74 6f  toplevel directo
3cd0: 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65  ry of the source
3ce0: 20 74 72 65 65 2e 20 20 46 6f 73 73 69 6c 20 63   tree.  Fossil c
3cf0: 61 6e 20 62 65 20 62 75 69 6c 74 0a 23 20 20 20  an be built.#
3d00: 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20   in a directory
3d10: 74 68 61 74 20 69 73 20 73 65 70 61 72 61 74 65  that is separate
3d20: 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65   from the source
3d30: 20 74 72 65 65 2e 20 20 4a 75 73 74 20 63 68 61   tree.  Just cha
3d40: 6e 67 65 0a 23 20 20 20 20 74 68 65 20 66 6f 6c  nge.#    the fol
3d50: 6c 6f 77 69 6e 67 20 74 6f 20 70 6f 69 6e 74 20  lowing to point
3d60: 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20 64  from the build d
3d70: 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 20  irectory to the
3d80: 73 72 63 2f 20 66 6f 6c 64 65 72 2e 0a 23 0a 53  src/ folder..#.S
3d90: 52 43 44 49 52 20 3d 20 73 72 63 0a 0a 23 23 23  RCDIR = src..###
3da0: 23 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20  # The directory
3db0: 69 6e 74 6f 20 77 68 69 63 68 20 6f 62 6a 65 63  into which objec
3dc0: 74 20 63 6f 64 65 20 66 69 6c 65 73 20 73 68 6f  t code files sho
3dd0: 75 6c 64 20 62 65 20 77 72 69 74 74 65 6e 2e 0a  uld be written..
3de0: 23 0a 4f 42 4a 44 49 52 20 3d 20 77 62 6c 64 0a  #.OBJDIR = wbld.
3df0: 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72  .#### C compiler
3e00: 20 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c   for use in buil
3e10: 64 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73  ding executables
3e20: 20 74 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f   that will run o
3e30: 6e 0a 23 20 20 20 20 74 68 65 20 70 6c 61 74 66  n.#    the platf
3e40: 6f 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e  orm that is doin
3e50: 67 20 74 68 65 20 62 75 69 6c 64 2e 20 20 54 68  g the build.  Th
3e60: 69 73 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f  is is used to co
3e70: 6d 70 69 6c 65 0a 23 20 20 20 20 63 6f 64 65 2d  mpile.#    code-
3e80: 67 65 6e 65 72 61 74 6f 72 20 70 72 6f 67 72 61  generator progra
3e90: 6d 73 20 61 73 20 70 61 72 74 20 6f 66 20 74 68  ms as part of th
3ea0: 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2e  e build process.
3eb0: 20 20 53 65 65 20 54 43 43 0a 23 20 20 20 20 61    See TCC.#    a
3ec0: 6e 64 20 54 43 43 45 58 45 20 62 65 6c 6f 77 20  nd TCCEXE below
3ed0: 66 6f 72 20 74 68 65 20 43 20 63 6f 6d 70 69 6c  for the C compil
3ee0: 65 72 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20  er for building
3ef0: 74 68 65 20 66 69 6e 69 73 68 65 64 0a 23 20 20  the finished.#
3f00: 20 20 62 69 6e 61 72 79 2e 0a 23 0a 42 43 43 45    binary..#.BCCE
3f10: 58 45 20 3d 20 67 63 63 0a 0a 23 23 23 23 20 43  XE = gcc..#### C
3f20: 20 43 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6f 70   Compiler and op
3f30: 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20 69 6e  tions for use in
3f40: 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63 75 74   building execut
3f50: 61 62 6c 65 73 20 74 68 61 74 0a 23 20 20 20 20  ables that.#
3f60: 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74 68 65 20  will run on the
3f70: 70 6c 61 74 66 6f 72 6d 20 74 68 61 74 20 69 73  platform that is
3f80: 20 64 6f 69 6e 67 20 74 68 65 20 62 75 69 6c 64   doing the build
3f90: 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 64 0a  .  This is used.
3fa0: 23 20 20 20 20 74 6f 20 63 6f 6d 70 69 6c 65 20  #    to compile
3fb0: 63 6f 64 65 2d 67 65 6e 65 72 61 74 6f 72 20 70  code-generator p
3fc0: 72 6f 67 72 61 6d 73 20 61 73 20 70 61 72 74 20  rograms as part
3fd0: 6f 66 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  of the build pro
3fe0: 63 65 73 73 2e 0a 23 20 20 20 20 53 65 65 20 54  cess..#    See T
3ff0: 43 43 20 62 65 6c 6f 77 20 66 6f 72 20 74 68 65  CC below for the
4000: 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20   C compiler for
4010: 62 75 69 6c 64 69 6e 67 20 74 68 65 20 66 69 6e  building the fin
4020: 69 73 68 65 64 20 62 69 6e 61 72 79 2e 0a 23 0a  ished binary..#.
4030: 42 43 43 20 3d 20 24 28 42 43 43 45 58 45 29 0a  BCC = $(BCCEXE). 4040: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 63 6f 6d .#### Enable com 4050: 70 69 6c 69 6e 67 20 77 69 74 68 20 64 65 62 75 piling with debu 4060: 67 20 73 79 6d 62 6f 6c 73 20 28 6d 75 63 68 20 g symbols (much 4070: 6c 61 72 67 65 72 20 62 69 6e 61 72 79 29 0a 23 larger binary).# 4080: 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 .# FOSSIL_ENABLE 4090: 5f 53 59 4d 42 4f 4c 53 20 3d 20 31 0a 0a 23 23 _SYMBOLS = 1..## 40a0: 23 23 20 45 6e 61 62 6c 65 20 4a 53 4f 4e 20 28 ## Enable JSON ( 40b0: 68 74 74 70 3a 2f 2f 77 77 77 2e 6a 73 6f 6e 2e http://www.json. 40c0: 6f 72 67 29 20 73 75 70 70 6f 72 74 20 75 73 69 org) support usi 40d0: 6e 67 20 22 63 73 6f 6e 22 0a 23 0a 23 20 46 4f ng "cson".#.# FO 40e0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e SSIL_ENABLE_JSON 40f0: 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 6c = 1..#### Enabl 4100: 65 20 48 54 54 50 53 20 73 75 70 70 6f 72 74 20 e HTTPS support 4110: 76 69 61 20 4f 70 65 6e 53 53 4c 20 28 6c 69 6e via OpenSSL (lin 4120: 6b 73 20 74 6f 20 6c 69 62 73 73 6c 20 61 6e 64 ks to libssl and 4130: 20 6c 69 62 63 72 79 70 74 6f 29 0a 23 0a 23 20 libcrypto).#.# 4140: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 FOSSIL_ENABLE_SS 4150: 4c 20 3d 20 31 0a 0a 23 23 23 23 20 41 75 74 6f L = 1..#### Auto 4160: 6d 61 74 69 63 61 6c 6c 79 20 62 75 69 6c 64 20 matically build 4170: 4f 70 65 6e 53 53 4c 20 77 68 65 6e 20 62 75 69 OpenSSL when bui 4180: 6c 64 69 6e 67 20 46 6f 73 73 69 6c 20 28 63 61 lding Fossil (ca 4190: 75 73 65 73 20 72 65 62 75 69 6c 64 0a 23 20 20 uses rebuild.# 41a0: 20 20 69 73 73 75 65 73 20 77 68 65 6e 20 62 75 issues when bu 41b0: 69 6c 64 69 6e 67 20 69 6e 63 72 65 6d 65 6e 74 ilding increment 41c0: 61 6c 6c 79 29 2e 0a 23 0a 23 20 46 4f 53 53 49 ally)..#.# FOSSI 41d0: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 31 0a L_BUILD_SSL = 1. 41e0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 72 65 6c .#### Enable rel 41f0: 61 74 69 76 65 20 70 61 74 68 73 20 69 6e 20 65 ative paths in e 4200: 78 74 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 xternal diff/gdi 4210: 66 66 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e ff.#.# FOSSIL_EN 4220: 41 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 ABLE_EXEC_REL_PA 4230: 54 48 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e THS = 1..#### En 4240: 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65 61 able legacy trea 4250: 74 6d 65 6e 74 20 6f 66 20 6d 76 2f 72 6d 20 28 tment of mv/rm ( 4260: 73 6b 69 70 20 63 68 65 63 6b 6f 75 74 20 66 69 skip checkout fi 4270: 6c 65 73 29 0a 23 0a 23 20 46 4f 53 53 49 4c 5f les).#.# FOSSIL_ 4280: 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 ENABLE_LEGACY_MV 4290: 5f 52 4d 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e _RM = 1..#### En 42a0: 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74 73 able TH1 scripts 42b0: 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f 63 in embedded doc 42c0: 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 umentation files 42d0: 0a 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 .#.# FOSSIL_ENAB 42e0: 4c 45 5f 54 48 31 5f 44 4f 43 53 20 3d 20 31 0a LE_TH1_DOCS = 1. 42f0: 0a 23 23 23 23 20 45 6e 61 62 6c 65 20 68 6f 6f .#### Enable hoo 4300: 6b 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 ks for commands 4310: 61 6e 64 20 77 65 62 20 70 61 67 65 73 20 76 69 and web pages vi 4320: 61 20 54 48 31 0a 23 0a 23 20 46 4f 53 53 49 4c a TH1.#.# FOSSIL 4330: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b _ENABLE_TH1_HOOK 4340: 53 20 3d 20 31 0a 0a 23 23 23 23 20 45 6e 61 62 S = 1..#### Enab 4350: 6c 65 20 73 63 72 69 70 74 69 6e 67 20 73 75 70 le scripting sup 4360: 70 6f 72 74 20 76 69 61 20 54 63 6c 2f 54 6b 0a port via Tcl/Tk. 4370: 23 0a 23 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c #.# FOSSIL_ENABL 4380: 45 5f 54 43 4c 20 3d 20 31 0a 0a 23 23 23 23 20 E_TCL = 1..#### 4390: 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20 74 Load Tcl using t 43a0: 68 65 20 73 74 75 62 73 20 6c 69 62 72 61 72 79 he stubs library 43b0: 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20 46 mechanism.#.# F 43c0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c OSSIL_ENABLE_TCL 43d0: 5f 53 54 55 42 53 20 3d 20 31 0a 0a 23 23 23 23 _STUBS = 1..#### 43e0: 20 4c 6f 61 64 20 54 63 6c 20 75 73 69 6e 67 20 Load Tcl using 43f0: 74 68 65 20 70 72 69 76 61 74 65 20 73 74 75 62 the private stub 4400: 73 20 6d 65 63 68 61 6e 69 73 6d 0a 23 0a 23 20 s mechanism.#.# 4410: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 FOSSIL_ENABLE_TC 4420: 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42 53 20 L_PRIVATE_STUBS 4430: 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 27 73 = 1..#### Use 's 4440: 79 73 74 65 6d 27 20 53 51 4c 69 74 65 0a 23 0a ystem' SQLite.#. 4450: 23 20 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c # USE_SYSTEM_SQL 4460: 49 54 45 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 ITE = 1..#### Us 4470: 65 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63 e the SQLite Enc 4480: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f ryption Extensio 4490: 6e 0a 23 0a 23 20 55 53 45 5f 53 45 45 20 3d 20 n.#.# USE_SEE = 44a0: 31 0a 0a 23 23 23 23 20 55 73 65 20 74 68 65 20 1..#### Use the 44b0: 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 73 69 6f miniz compressio 44c0: 6e 20 6c 69 62 72 61 72 79 0a 23 0a 23 20 46 4f n library.#.# FO 44d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 SSIL_ENABLE_MINI 44e0: 5a 20 3d 20 31 0a 0a 23 23 23 23 20 55 73 65 20 Z = 1..#### Use 44f0: 74 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 64 the Tcl source d 4500: 69 72 65 63 74 6f 72 79 20 69 6e 73 74 65 61 64 irectory instead 4510: 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 of the install 4520: 64 69 72 65 63 74 6f 72 79 3f 0a 23 20 20 20 20 directory?.# 4530: 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 This is useful w 4540: 68 65 6e 20 54 63 6c 20 68 61 73 20 62 65 65 6e hen Tcl has been 4550: 20 63 6f 6d 70 69 6c 65 64 20 73 74 61 74 69 63 compiled static 4560: 61 6c 6c 79 20 77 69 74 68 20 4d 69 6e 47 57 2e ally with MinGW. 4570: 0a 23 0a 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f .#.FOSSIL_TCL_SO 4580: 55 52 43 45 20 3d 20 31 0a 0a 23 23 23 23 20 43 URCE = 1..#### C 4590: 68 65 63 6b 20 69 66 20 74 68 65 20 77 6f 72 6b heck if the work 45a0: 61 72 6f 75 6e 64 20 66 6f 72 20 74 68 65 20 4d around for the M 45b0: 69 6e 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e inGW command lin 45c0: 65 20 68 61 6e 64 6c 69 6e 67 20 6e 65 65 64 73 e handling needs 45d0: 20 74 6f 0a 23 20 20 20 20 62 65 20 65 6e 61 62 to.# be enab 45e0: 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 20 led by default. 45f0: 20 54 68 69 73 20 63 68 65 63 6b 20 6d 61 79 20 This check may 4600: 62 65 20 73 6f 6d 65 77 68 61 74 20 66 72 61 67 be somewhat frag 4610: 69 6c 65 20 64 75 65 20 74 6f 20 74 68 65 0a 23 ile due to the.# 4620: 20 20 20 20 75 73 65 20 6f 66 20 22 66 69 6e 64 use of "find 4630: 73 74 72 69 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 string"..#.ifnde 4640: 66 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 f MINGW_IS_32BIT 4650: 5f 4f 4e 4c 59 0a 69 66 65 71 20 28 2c 24 28 66 _ONLY.ifeq (,$(f
4660: 69 6e 64 73 74 72 69 6e 67 20 77 36 34 2d 6d 69  indstring w64-mi
4670: 6e 67 77 33 32 2c 24 28 50 52 45 46 49 58 29 29  ngw32,$(PREFIX)) 4680: 29 0a 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 ).MINGW_IS_32BIT 4690: 5f 4f 4e 4c 59 20 3d 20 31 0a 65 6e 64 69 66 0a _ONLY = 1.endif. 46a0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 54 68 65 20 endif..#### The 46b0: 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 65 72 directories wher 46c0: 65 20 74 68 65 20 7a 6c 69 62 20 69 6e 63 6c 75 e the zlib inclu 46d0: 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 de and library f 46e0: 69 6c 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 iles are located 46f0: 2e 0a 23 0a 5a 49 4e 43 44 49 52 20 3d 20 24 28 ..#.ZINCDIR =$(
4700: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61  SRCDIR)/../compa
4710: 74 2f 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 3d  t/zlib.ZLIBDIR =
4720: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f   $(SRCDIR)/../co 4730: 6d 70 61 74 2f 7a 6c 69 62 0a 0a 23 23 23 23 20 mpat/zlib..#### 4740: 4d 61 6b 65 20 61 6e 20 61 74 74 65 6d 70 74 20 Make an attempt 4750: 74 6f 20 64 65 74 65 63 74 20 69 66 20 46 6f 73 to detect if Fos 4760: 73 69 6c 20 69 73 20 62 65 69 6e 67 20 62 75 69 sil is being bui 4770: 6c 74 20 66 6f 72 20 74 68 65 20 78 36 34 20 70 lt for the x64 p 4780: 72 6f 63 65 73 73 6f 72 0a 23 20 20 20 20 61 72 rocessor.# ar 4790: 63 68 69 74 65 63 74 75 72 65 2e 20 20 54 68 69 chitecture. Thi 47a0: 73 20 63 68 65 63 6b 20 6d 61 79 20 62 65 20 73 s check may be s 47b0: 6f 6d 65 77 68 61 74 20 66 72 61 67 69 6c 65 20 omewhat fragile 47c0: 64 75 65 20 74 6f 20 22 66 69 6e 64 73 74 72 69 due to "findstri 47d0: 6e 67 22 2e 0a 23 0a 69 66 6e 64 65 66 20 58 36 ng"..#.ifndef X6 47e0: 34 0a 69 66 6e 65 71 20 28 2c 24 28 66 69 6e 64 4.ifneq (,$(find
47f0: 73 74 72 69 6e 67 20 78 38 36 5f 36 34 2d 77 36  string x86_64-w6
4800: 34 2d 6d 69 6e 67 77 33 32 2c 24 28 50 52 45 46  4-mingw32,$(PREF 4810: 49 58 29 29 29 0a 58 36 34 20 3d 20 31 0a 65 6e IX))).X64 = 1.en 4820: 64 69 66 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20 dif.endif..#### 4830: 44 65 74 65 72 6d 69 6e 65 20 69 66 20 74 68 65 Determine if the 4840: 20 6f 70 74 69 6d 69 7a 65 64 20 61 73 73 65 6d optimized assem 4850: 62 6c 79 20 72 6f 75 74 69 6e 65 73 20 70 72 6f bly routines pro 4860: 76 69 64 65 64 20 77 69 74 68 20 7a 6c 69 62 20 vided with zlib 4870: 73 68 6f 75 6c 64 20 62 65 0a 23 20 20 20 20 75 should be.# u 4880: 73 65 64 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f sed, taking into 4890: 20 61 63 63 6f 75 6e 74 20 77 68 65 74 68 65 72 account whether 48a0: 20 7a 6c 69 62 20 69 73 20 61 63 74 75 61 6c 6c zlib is actuall 48b0: 79 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 74 68 y enabled and th 48c0: 65 20 74 61 72 67 65 74 0a 23 20 20 20 20 70 72 e target.# pr 48d0: 6f 63 65 73 73 6f 72 20 61 72 63 68 69 74 65 63 ocessor architec 48e0: 74 75 72 65 2e 0a 23 0a 69 66 6e 64 65 66 20 58 ture..#.ifndef X 48f0: 36 34 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 64.SSLCONFIG = m 4900: 69 6e 67 77 0a 69 66 6e 64 65 66 20 46 4f 53 53 ingw.ifndef FOSS 4910: 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a IL_ENABLE_MINIZ. 4920: 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 20 4c 4f 43 ZLIBCONFIG = LOC 4930: 3d 22 2d 44 41 53 4d 56 20 2d 44 41 53 4d 49 4e ="-DASMV -DASMIN 4940: 46 22 20 4f 42 4a 41 3d 22 69 6e 66 66 61 73 38 F" OBJA="inffas8 4950: 36 2e 6f 20 6d 61 74 63 68 2e 6f 22 0a 5a 4c 49 6.o match.o".ZLI 4960: 42 54 41 52 47 45 54 53 20 3d 20 24 28 5a 4c 49 BTARGETS =$(ZLI
4970: 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e 6f  BDIR)/inffas86.o
4980: 20 24 28 5a 4c 49 42 44 49 52 29 2f 6d 61 74 63   $(ZLIBDIR)/matc 4990: 68 2e 6f 0a 65 6c 73 65 0a 5a 4c 49 42 43 4f 4e h.o.else.ZLIBCON 49a0: 46 49 47 20 3d 0a 5a 4c 49 42 54 41 52 47 45 54 FIG =.ZLIBTARGET 49b0: 53 20 3d 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 53 S =.endif.else.S 49c0: 53 4c 43 4f 4e 46 49 47 20 3d 20 6d 69 6e 67 77 SLCONFIG = mingw 49d0: 36 34 0a 5a 4c 49 42 43 4f 4e 46 49 47 20 3d 0a 64.ZLIBCONFIG =. 49e0: 5a 4c 49 42 54 41 52 47 45 54 53 20 3d 0a 65 6e ZLIBTARGETS =.en 49f0: 64 69 66 0a 0a 23 23 23 23 20 44 69 73 61 62 6c dif..#### Disabl 4a00: 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 74 68 e creation of th 4a10: 65 20 4f 70 65 6e 53 53 4c 20 73 68 61 72 65 64 e OpenSSL shared 4a20: 20 6c 69 62 72 61 72 69 65 73 2e 20 20 41 6c 73 libraries. Als 4a30: 6f 2c 20 64 69 73 61 62 6c 65 20 73 75 70 70 6f o, disable suppo 4a40: 72 74 0a 23 20 20 20 20 66 6f 72 20 62 6f 74 68 rt.# for both 4a50: 20 53 53 4c 76 32 20 61 6e 64 20 53 53 4c 76 33 SSLv2 and SSLv3 4a60: 20 28 69 2e 65 2e 20 74 68 65 72 65 62 79 20 66 (i.e. thereby f 4a70: 6f 72 63 69 6e 67 20 74 68 65 20 75 73 65 20 6f orcing the use o 4a80: 66 20 54 4c 53 29 2e 0a 23 0a 53 53 4c 43 4f 4e f TLS)..#.SSLCON 4a90: 46 49 47 20 2b 3d 20 6e 6f 2d 73 73 6c 32 20 6e FIG += no-ssl2 n 4aa0: 6f 2d 73 73 6c 33 20 6e 6f 2d 73 68 61 72 65 64 o-ssl3 no-shared 4ab0: 0a 0a 23 23 23 23 20 57 68 65 6e 20 75 73 69 6e ..#### When usin 4ac0: 67 20 7a 6c 69 62 2c 20 6d 61 6b 65 20 73 75 72 g zlib, make sur 4ad0: 65 20 74 68 61 74 20 4f 70 65 6e 53 53 4c 20 69 e that OpenSSL i 4ae0: 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 s configured to 4af0: 75 73 65 20 74 68 65 20 7a 6c 69 62 0a 23 20 20 use the zlib.# 4b00: 20 20 74 68 61 74 20 46 6f 73 73 69 6c 20 6b 6e that Fossil kn 4b10: 6f 77 73 20 61 62 6f 75 74 20 28 69 2e 65 2e 20 ows about (i.e. 4b20: 74 68 65 20 6f 6e 65 20 77 69 74 68 69 6e 20 74 the one within t 4b30: 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 29 2e he source tree). 4b40: 0a 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c .#.ifndef FOSSIL 4b50: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 53 53 _ENABLE_MINIZ.SS 4b60: 4c 43 4f 4e 46 49 47 20 2b 3d 20 20 2d 2d 77 69 LCONFIG += --wi 4b70: 74 68 2d 7a 6c 69 62 2d 6c 69 62 3d 24 28 50 57 th-zlib-lib=$(PW
4b80: 44 29 2f 24 28 5a 4c 49 42 44 49 52 29 20 2d 2d  D)/$(ZLIBDIR) -- 4b90: 77 69 74 68 2d 7a 6c 69 62 2d 69 6e 63 6c 75 64 with-zlib-includ 4ba0: 65 3d 24 28 50 57 44 29 2f 24 28 5a 4c 49 42 44 e=$(PWD)/$(ZLIBD 4bb0: 49 52 29 20 7a 6c 69 62 0a 65 6e 64 69 66 0a 0a IR) zlib.endif.. 4bc0: 23 23 23 23 20 54 68 65 20 64 69 72 65 63 74 6f #### The directo 4bd0: 72 69 65 73 20 77 68 65 72 65 20 74 68 65 20 4f ries where the O 4be0: 70 65 6e 53 53 4c 20 69 6e 63 6c 75 64 65 20 61 penSSL include a 4bf0: 6e 64 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 nd library files 4c00: 20 61 72 65 20 6c 6f 63 61 74 65 64 2e 0a 23 20 are located..# 4c10: 20 20 20 54 68 65 20 72 65 63 6f 6d 6d 65 6e 64 The recommend 4c20: 65 64 20 75 73 61 67 65 20 68 65 72 65 20 69 73 ed usage here is 4c30: 20 74 6f 20 75 73 65 20 74 68 65 20 53 79 73 69 to use the Sysi 4c40: 6e 74 65 72 6e 61 6c 73 20 6a 75 6e 63 74 69 6f nternals junctio 4c50: 6e 20 74 6f 6f 6c 0a 23 20 20 20 20 74 6f 20 63 n tool.# to c 4c60: 72 65 61 74 65 20 61 20 68 61 72 64 20 6c 69 6e reate a hard lin 4c70: 6b 20 62 65 74 77 65 65 6e 20 61 6e 20 22 6f 70 k between an "op 4c80: 65 6e 73 73 6c 2d 31 2e 78 22 20 73 75 62 2d 64 enssl-1.x" sub-d 4c90: 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 0a irectory of the. 4ca0: 23 20 20 20 20 46 6f 73 73 69 6c 20 73 6f 75 72 # Fossil sour 4cb0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72 ce code director 4cc0: 79 20 61 6e 64 20 74 68 65 20 74 61 72 67 65 74 y and the target 4cd0: 20 4f 70 65 6e 53 53 4c 20 73 6f 75 72 63 65 20 OpenSSL source 4ce0: 64 69 72 65 63 74 6f 72 79 2e 0a 23 0a 4f 50 45 directory..#.OPE 4cf0: 4e 53 53 4c 44 49 52 20 3d 20 24 28 53 52 43 44 NSSLDIR =$(SRCD
4d00: 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 74 2f 6f 70  IR)/../compat/op
4d10: 65 6e 73 73 6c 2d 31 2e 30 2e 32 6e 0a 4f 50 45  enssl-1.0.2n.OPE
4d20: 4e 53 53 4c 49 4e 43 44 49 52 20 3d 20 24 28 4f  NSSLINCDIR = $(O 4d30: 50 45 4e 53 53 4c 44 49 52 29 2f 69 6e 63 6c 75 PENSSLDIR)/inclu 4d40: 64 65 0a 4f 50 45 4e 53 53 4c 4c 49 42 44 49 52 de.OPENSSLLIBDIR 4d50: 20 3d 20 24 28 4f 50 45 4e 53 53 4c 44 49 52 29 =$(OPENSSLDIR)
4d60: 0a 0a 23 23 23 23 20 45 69 74 68 65 72 20 74 68  ..#### Either th
4d70: 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72  e directory wher
4d80: 65 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72  e the Tcl librar
4d90: 79 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f  y is installed o
4da0: 72 20 74 68 65 20 54 63 6c 0a 23 20 20 20 20 73  r the Tcl.#    s
4db0: 6f 75 72 63 65 20 63 6f 64 65 20 64 69 72 65 63  ource code direc
4dc0: 74 6f 72 79 20 72 65 73 69 64 65 73 20 28 64 65  tory resides (de
4dd0: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76  pending on the v
4de0: 61 6c 75 65 20 6f 66 20 74 68 65 20 6d 61 63 72  alue of the macr
4df0: 6f 0a 23 20 20 20 20 46 4f 53 53 49 4c 5f 54 43  o.#    FOSSIL_TC
4e00: 4c 5f 53 4f 55 52 43 45 29 2e 20 20 49 66 20 74  L_SOURCE).  If t
4e10: 68 69 73 20 70 6f 69 6e 74 73 20 74 6f 20 74 68  his points to th
4e20: 65 20 54 63 6c 20 69 6e 73 74 61 6c 6c 20 64 69  e Tcl install di
4e30: 72 65 63 74 6f 72 79 2c 0a 23 20 20 20 20 74 68  rectory,.#    th
4e40: 69 73 20 64 69 72 65 63 74 6f 72 79 20 6d 75 73  is directory mus
4e50: 74 20 68 61 76 65 20 22 69 6e 63 6c 75 64 65 22  t have "include"
4e60: 20 61 6e 64 20 22 6c 69 62 22 20 73 75 62 2d 64   and "lib" sub-d
4e70: 69 72 65 63 74 6f 72 69 65 73 2e 20 20 49 66 0a  irectories.  If.
4e80: 23 20 20 20 20 74 68 69 73 20 70 6f 69 6e 74 73  #    this points
4e90: 20 74 6f 20 74 68 65 20 54 63 6c 20 73 6f 75 72   to the Tcl sour
4ea0: 63 65 20 63 6f 64 65 20 64 69 72 65 63 74 6f 72  ce code director
4eb0: 79 2c 20 74 68 69 73 20 64 69 72 65 63 74 6f 72  y, this director
4ec0: 79 20 6d 75 73 74 0a 23 20 20 20 20 68 61 76 65  y must.#    have
4ed0: 20 22 67 65 6e 65 72 69 63 22 20 61 6e 64 20 22   "generic" and "
4ee0: 77 69 6e 22 20 73 75 62 2d 64 69 72 65 63 74 6f  win" sub-directo
4ef0: 72 69 65 73 2e 20 20 54 68 65 20 72 65 63 6f 6d  ries.  The recom
4f00: 6d 65 6e 64 65 64 20 75 73 61 67 65 0a 23 20 20  mended usage.#
4f10: 20 20 68 65 72 65 20 69 73 20 74 6f 20 75 73 65    here is to use
4f20: 20 74 68 65 20 53 79 73 69 6e 74 65 72 6e 61 6c   the Sysinternal
4f30: 73 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 6f 6c 20  s junction tool
4f40: 74 6f 20 63 72 65 61 74 65 20 61 20 68 61 72 64  to create a hard
4f50: 0a 23 20 20 20 20 6c 69 6e 6b 20 62 65 74 77 65  .#    link betwe
4f60: 65 6e 20 61 20 22 74 63 6c 2d 38 2e 78 22 20 73  en a "tcl-8.x" s
4f70: 75 62 2d 64 69 72 65 63 74 6f 72 79 20 6f 66 20  ub-directory of
4f80: 74 68 65 20 46 6f 73 73 69 6c 20 73 6f 75 72 63  the Fossil sourc
4f90: 65 20 63 6f 64 65 0a 23 20 20 20 20 64 69 72 65  e code.#    dire
4fa0: 63 74 6f 72 79 20 61 6e 64 20 74 68 65 20 74 61  ctory and the ta
4fb0: 72 67 65 74 20 54 63 6c 20 64 69 72 65 63 74 6f  rget Tcl directo
4fc0: 72 79 2e 20 20 54 68 69 73 20 72 65 6d 6f 76 65  ry.  This remove
4fd0: 73 20 74 68 65 20 6e 65 65 64 20 74 6f 0a 23 20  s the need to.#
4fe0: 20 20 20 68 61 72 64 2d 63 6f 64 65 20 74 68 65     hard-code the
4ff0: 20 6e 65 63 65 73 73 61 72 79 20 70 61 74 68 73   necessary paths
5000: 20 69 6e 20 74 68 69 73 20 4d 61 6b 65 66 69 6c   in this Makefil
5010: 65 2e 0a 23 0a 54 43 4c 44 49 52 20 3d 20 24 28  e..#.TCLDIR = $( 5020: 53 52 43 44 49 52 29 2f 2e 2e 2f 63 6f 6d 70 61 SRCDIR)/../compa 5030: 74 2f 74 63 6c 2d 38 2e 36 0a 0a 23 23 23 23 20 t/tcl-8.6..#### 5040: 54 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 63 The Tcl source c 5050: 6f 64 65 20 64 69 72 65 63 74 6f 72 79 2e 20 20 ode directory. 5060: 54 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f This defaults to 5070: 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 the same value 5080: 61 73 0a 23 20 20 20 20 54 43 4c 44 49 52 20 6d as.# TCLDIR m 5090: 61 63 72 6f 20 28 61 62 6f 76 65 29 2c 20 77 68 acro (above), wh 50a0: 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 63 ich may not be c 50b0: 6f 72 72 65 63 74 2e 20 20 54 68 69 73 20 76 61 orrect. This va 50c0: 6c 75 65 20 77 69 6c 6c 0a 23 20 20 20 20 6f 6e lue will.# on 50d0: 6c 79 20 62 65 20 75 73 65 64 20 69 66 20 74 68 ly be used if th 50e0: 65 20 46 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 e FOSSIL_TCL_SOU 50f0: 52 43 45 20 6d 61 63 72 6f 20 69 73 20 64 65 66 RCE macro is def 5100: 69 6e 65 64 2e 0a 23 0a 54 43 4c 53 52 43 44 49 ined..#.TCLSRCDI 5110: 52 20 3d 20 24 28 54 43 4c 44 49 52 29 0a 0a 23 R =$(TCLDIR)..#
5120: 23 23 23 20 54 68 65 20 54 63 6c 20 69 6e 63 6c  ### The Tcl incl
5130: 75 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20  ude and library
5140: 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 54 68  directories.  Th
5150: 65 73 65 20 76 61 6c 75 65 73 20 77 69 6c 6c 20  ese values will
5160: 6f 6e 6c 79 20 62 65 0a 23 20 20 20 20 75 73 65  only be.#    use
5170: 64 20 69 66 20 74 68 65 20 46 4f 53 53 49 4c 5f  d if the FOSSIL_
5180: 54 43 4c 5f 53 4f 55 52 43 45 20 6d 61 63 72 6f  TCL_SOURCE macro
5190: 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e   is not defined.
51a0: 0a 23 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24  .#.TCLINCDIR = $51b0: 28 54 43 4c 44 49 52 29 2f 69 6e 63 6c 75 64 65 (TCLDIR)/include 51c0: 0a 54 43 4c 4c 49 42 44 49 52 20 3d 20 24 28 54 .TCLLIBDIR =$(T
51d0: 43 4c 44 49 52 29 2f 6c 69 62 0a 0a 23 23 23 23  CLDIR)/lib..####
51e0: 20 54 63 6c 3a 20 57 68 69 63 68 20 54 63 6c 20   Tcl: Which Tcl
51f0: 6c 69 62 72 61 72 79 20 64 6f 20 77 65 20 77 61  library do we wa
5200: 6e 74 20 74 6f 20 75 73 65 20 28 38 2e 34 2c 20  nt to use (8.4,
5210: 38 2e 35 2c 20 38 2e 36 2c 20 65 74 63 29 3f 0a  8.5, 8.6, etc)?.
5220: 23 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45  #.ifdef FOSSIL_E
5230: 4e 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 0a  NABLE_TCL_STUBS.
5240: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
5250: 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45  ABLE_TCL_PRIVATE
5260: 5f 53 54 55 42 53 0a 4c 49 42 54 43 4c 20 3d 20  _STUBS.LIBTCL =
5270: 2d 6c 74 63 6c 73 74 75 62 38 36 0a 65 6e 64 69  -ltclstub86.endi
5280: 66 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 6c 69  f.TCLTARGET = li
5290: 62 74 63 6c 73 74 75 62 38 36 2e 61 0a 65 6c 73  btclstub86.a.els
52a0: 65 0a 4c 49 42 54 43 4c 20 3d 20 2d 6c 74 63 6c  e.LIBTCL = -ltcl
52b0: 38 36 0a 54 43 4c 54 41 52 47 45 54 20 3d 20 62  86.TCLTARGET = b
52c0: 69 6e 61 72 69 65 73 0a 65 6e 64 69 66 0a 0a 23  inaries.endif..#
52d0: 23 23 23 20 43 20 63 6f 6d 70 69 6c 65 72 20 66  ### C compiler f
52e0: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
52f0: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
5300: 68 61 74 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20  hat will run on
5310: 74 68 65 0a 23 20 20 20 20 74 61 72 67 65 74 20  the.#    target
5320: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20  platform.  This
5330: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 73  is usually the s
5340: 61 6d 65 20 61 73 20 42 43 43 45 58 45 2c 20 75  ame as BCCEXE, u
5350: 6e 6c 65 73 73 20 79 6f 75 0a 23 20 20 20 20 61  nless you.#    a
5360: 72 65 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69  re cross-compili
5370: 6e 67 2e 20 20 54 68 69 73 20 43 20 63 6f 6d 70  ng.  This C comp
5380: 69 6c 65 72 20 62 75 69 6c 64 73 20 74 68 65 20  iler builds the
5390: 66 69 6e 69 73 68 65 64 20 62 69 6e 61 72 79 0a  finished binary.
53a0: 23 20 20 20 20 66 6f 72 20 66 6f 73 73 69 6c 2e  #    for fossil.
53b0: 20 20 53 65 65 20 42 43 43 20 61 6e 64 20 42 43    See BCC and BC
53c0: 43 45 58 45 20 61 62 6f 76 65 20 66 6f 72 20 74  CEXE above for t
53d0: 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 66 6f  he C compiler fo
53e0: 72 0a 23 20 20 20 20 62 75 69 6c 64 69 6e 67 20  r.#    building
53f0: 69 6e 74 65 72 6d 65 64 69 61 74 65 20 63 6f 64  intermediate cod
5400: 65 2d 67 65 6e 65 72 61 74 6f 72 20 74 6f 6f 6c  e-generator tool
5410: 73 2e 0a 23 0a 54 43 43 45 58 45 20 3d 20 67 63  s..#.TCCEXE = gc
5420: 63 0a 0a 23 23 23 23 20 43 20 63 6f 6d 70 69 6c  c..#### C compil
5430: 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66  er and options f
5440: 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64 69  or use in buildi
5450: 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20 74  ng executables t
5460: 68 61 74 20 77 69 6c 6c 0a 23 20 20 20 20 72 75  hat will.#    ru
5470: 6e 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20  n on the target
5480: 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 69 73 20  platform.  This
5490: 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 61  is usually the a
54a0: 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 0a 23  lmost the same.#
54b0: 20 20 20 20 61 73 20 42 43 43 2c 20 75 6e 6c 65      as BCC, unle
54c0: 73 73 20 79 6f 75 20 61 72 65 20 63 72 6f 73 73  ss you are cross
54d0: 2d 63 6f 6d 70 69 6c 69 6e 67 2e 20 20 54 68 69  -compiling.  Thi
54e0: 73 20 43 20 63 6f 6d 70 69 6c 65 72 20 62 75 69  s C compiler bui
54f0: 6c 64 73 0a 23 20 20 20 20 74 68 65 20 66 69 6e  lds.#    the fin
5500: 69 73 68 65 64 20 62 69 6e 61 72 79 20 66 6f 72  ished binary for
5510: 20 66 6f 73 73 69 6c 2e 20 20 54 68 65 20 42 43   fossil.  The BC
5520: 43 20 63 6f 6d 70 69 6c 65 72 20 61 62 6f 76 65  C compiler above
5530: 20 69 73 20 75 73 65 64 0a 23 20 20 20 20 66 6f   is used.#    fo
5540: 72 20 62 75 69 6c 64 69 6e 67 20 69 6e 74 65 72  r building inter
5550: 6d 65 64 69 61 74 65 20 63 6f 64 65 2d 67 65 6e  mediate code-gen
5560: 65 72 61 74 6f 72 20 74 6f 6f 6c 73 2e 0a 23 0a  erator tools..#.
5570: 54 43 43 20 3d 20 24 28 50 52 45 46 49 58 29 24  TCC = $(PREFIX)$
5580: 28 54 43 43 45 58 45 29 20 2d 57 61 6c 6c 20 2d  (TCCEXE) -Wall -
5590: 57 64 65 63 6c 61 72 61 74 69 6f 6e 2d 61 66 74  Wdeclaration-aft
55a0: 65 72 2d 73 74 61 74 65 6d 65 6e 74 0a 0a 23 23  er-statement..##
55b0: 23 23 20 41 64 64 20 74 68 65 20 6e 65 63 65 73  ## Add the neces
55c0: 73 61 72 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  sary command lin
55d0: 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 75 69  e options to bui
55e0: 6c 64 20 77 69 74 68 20 64 65 62 75 67 67 69 6e  ld with debuggin
55f0: 67 0a 23 20 20 20 20 73 79 6d 62 6f 6c 73 2c 20  g.#    symbols,
5600: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66  if enabled..#.if
5610: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5620: 45 5f 53 59 4d 42 4f 4c 53 0a 54 43 43 20 2b 3d  E_SYMBOLS.TCC +=
5630: 20 2d 67 0a 65 6c 73 65 0a 54 43 43 20 2b 3d 20   -g.else.TCC +=
5640: 2d 4f 73 0a 65 6e 64 69 66 0a 0a 23 23 23 23 20  -Os.endif..####
5650: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74  When not using t
5660: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73  he miniz compres
5670: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c  sion library, zl
5680: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a  ib is required..
5690: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  #.ifndef FOSSIL_
56a0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 54 43 43  ENABLE_MINIZ.TCC
56b0: 20 2b 3d 20 2d 4c 24 28 5a 4c 49 42 44 49 52 29   += -L$(ZLIBDIR) 56c0: 20 2d 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e -I$(ZINCDIR).en
56d0: 64 69 66 0a 0a 23 23 23 23 20 43 6f 6d 70 69 6c  dif..#### Compil
56e0: 65 20 72 65 73 6f 75 72 63 65 73 20 66 6f 72 20  e resources for
56f0: 75 73 65 20 69 6e 20 62 75 69 6c 64 69 6e 67 20  use in building
5700: 65 78 65 63 75 74 61 62 6c 65 73 20 74 68 61 74  executables that
5710: 20 77 69 6c 6c 20 72 75 6e 0a 23 20 20 20 20 6f   will run.#    o
5720: 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61  n the target pla
5730: 74 66 6f 72 6d 2e 0a 23 0a 52 43 43 20 3d 20 24  tform..#.RCC = $5740: 28 50 52 45 46 49 58 29 77 69 6e 64 72 65 73 20 (PREFIX)windres 5750: 2d 49 24 28 53 52 43 44 49 52 29 0a 0a 69 66 6e -I$(SRCDIR)..ifn
5760: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5770: 45 5f 4d 49 4e 49 5a 0a 52 43 43 20 2b 3d 20 2d  E_MINIZ.RCC += -
5780: 49 24 28 5a 49 4e 43 44 49 52 29 0a 65 6e 64 69  I$(ZINCDIR).endi 5790: 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50 53 20 f..# With HTTPS 57a0: 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20 46 4f support.ifdef FO 57b0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a SSIL_ENABLE_SSL. 57c0: 54 43 43 20 2b 3d 20 2d 4c 24 28 4f 50 45 4e 53 TCC += -L$(OPENS
57d0: 53 4c 4c 49 42 44 49 52 29 20 2d 49 24 28 4f 50  SLLIBDIR) -I$(OP 57e0: 45 4e 53 53 4c 49 4e 43 44 49 52 29 0a 52 43 43 ENSSLINCDIR).RCC 57f0: 20 2b 3d 20 2d 49 24 28 4f 50 45 4e 53 53 4c 49 += -I$(OPENSSLI
5800: 4e 43 44 49 52 29 0a 65 6e 64 69 66 0a 0a 23 20  NCDIR).endif..#
5810: 57 69 74 68 20 54 63 6c 20 73 75 70 70 6f 72 74  With Tcl support
5820: 0a 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  .ifdef FOSSIL_EN
5830: 41 42 4c 45 5f 54 43 4c 0a 69 66 64 65 66 20 46  ABLE_TCL.ifdef F
5840: 4f 53 53 49 4c 5f 54 43 4c 5f 53 4f 55 52 43 45  OSSIL_TCL_SOURCE
5850: 0a 54 43 43 20 2b 3d 20 2d 4c 24 28 54 43 4c 53  .TCC += -L$(TCLS 5860: 52 43 44 49 52 29 2f 77 69 6e 20 2d 49 24 28 54 RCDIR)/win -I$(T
5870: 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72 69  CLSRCDIR)/generi
5880: 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52 29  c -I$(TCLSRCDIR) 5890: 2f 77 69 6e 0a 52 43 43 20 2b 3d 20 2d 49 24 28 /win.RCC += -I$(
58a0: 54 43 4c 53 52 43 44 49 52 29 2f 67 65 6e 65 72  TCLSRCDIR)/gener
58b0: 69 63 20 2d 49 24 28 54 43 4c 53 52 43 44 49 52  ic -I$(TCLSRCDIR 58c0: 29 2f 77 69 6e 0a 65 6c 73 65 0a 54 43 43 20 2b )/win.else.TCC + 58d0: 3d 20 2d 4c 24 28 54 43 4c 4c 49 42 44 49 52 29 = -L$(TCLLIBDIR)
58e0: 20 2d 49 24 28 54 43 4c 49 4e 43 44 49 52 29 0a   -I$(TCLINCDIR). 58f0: 52 43 43 20 2b 3d 20 2d 49 24 28 54 43 4c 49 4e RCC += -I$(TCLIN
5900: 43 44 49 52 29 0a 65 6e 64 69 66 0a 65 6e 64 69  CDIR).endif.endi
5910: 66 0a 0a 23 20 57 69 74 68 20 6d 69 6e 69 7a 20  f..# With miniz
5920: 28 69 2e 65 2e 20 69 6e 73 74 65 61 64 20 6f 66  (i.e. instead of
5930: 20 7a 6c 69 62 29 0a 69 66 64 65 66 20 46 4f 53   zlib).ifdef FOS
5940: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a  SIL_ENABLE_MINIZ
5950: 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .TCC += -DFOSSIL
5960: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a  _ENABLE_MINIZ=1.
5970: 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f  RCC += -DFOSSIL_
5980: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 65  ENABLE_MINIZ=1.e
5990: 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 4d 69 6e  ndif..# With Min
59a0: 47 57 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20  GW command line
59b0: 68 61 6e 64 6c 69 6e 67 20 77 6f 72 6b 61 72 6f  handling workaro
59c0: 75 6e 64 0a 69 66 64 65 66 20 4d 49 4e 47 57 5f  und.ifdef MINGW_
59d0: 49 53 5f 33 32 42 49 54 5f 4f 4e 4c 59 0a 54 43  IS_32BIT_ONLY.TC
59e0: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49  C += -DBROKEN_MI
59f0: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 52 43  NGW_CMDLINE=1.RC
5a00: 43 20 2b 3d 20 2d 44 42 52 4f 4b 45 4e 5f 4d 49  C += -DBROKEN_MI
5a10: 4e 47 57 5f 43 4d 44 4c 49 4e 45 3d 31 0a 65 6e  NGW_CMDLINE=1.en
5a20: 64 69 66 0a 0a 23 20 57 69 74 68 20 48 54 54 50  dif..# With HTTP
5a30: 53 20 73 75 70 70 6f 72 74 0a 69 66 64 65 66 20  S support.ifdef
5a40: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53  FOSSIL_ENABLE_SS
5a50: 4c 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  L.TCC += -DFOSSI
5a60: 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 52  L_ENABLE_SSL=1.R
5a70: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45  CC += -DFOSSIL_E
5a80: 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 65 6e 64 69  NABLE_SSL=1.endi
5a90: 66 0a 0a 23 20 57 69 74 68 20 72 65 6c 61 74 69  f..# With relati
5aa0: 76 65 20 70 61 74 68 73 20 69 6e 20 65 78 74 65  ve paths in exte
5ab0: 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 66 66 0a  rnal diff/gdiff.
5ac0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5ad0: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
5ae0: 48 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53  HS.TCC += -DFOSS
5af0: 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52  IL_ENABLE_EXEC_R
5b00: 45 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 2b  EL_PATHS=1.RCC +
5b10: 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  = -DFOSSIL_ENABL
5b20: 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53  E_EXEC_REL_PATHS
5b30: 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68  =1.endif..# With
5b40: 20 6c 65 67 61 63 79 20 74 72 65 61 74 6d 65 6e   legacy treatmen
5b50: 74 20 6f 66 20 6d 76 2f 72 6d 0a 69 66 64 65 66  t of mv/rm.ifdef
5b60: 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c   FOSSIL_ENABLE_L
5b70: 45 47 41 43 59 5f 4d 56 5f 52 4d 0a 54 43 43 20  EGACY_MV_RM.TCC
5b80: 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42  += -DFOSSIL_ENAB
5b90: 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d  LE_LEGACY_MV_RM=
5ba0: 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  1.RCC += -DFOSSI
5bb0: 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59 5f  L_ENABLE_LEGACY_
5bc0: 4d 56 5f 52 4d 3d 31 0a 65 6e 64 69 66 0a 0a 23  MV_RM=1.endif..#
5bd0: 20 57 69 74 68 20 54 48 31 20 65 6d 62 65 64 64   With TH1 embedd
5be0: 65 64 20 64 6f 63 73 20 73 75 70 70 6f 72 74 0a  ed docs support.
5bf0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5c00: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 0a 54 43 43  BLE_TH1_DOCS.TCC
5c10: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5c20: 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31 0a 52  BLE_TH1_DOCS=1.R
5c30: 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45  CC += -DFOSSIL_E
5c40: 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 53 3d 31  NABLE_TH1_DOCS=1
5c50: 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74 68 20 54  .endif..# With T
5c60: 48 31 20 68 6f 6f 6b 20 73 75 70 70 6f 72 74 0a  H1 hook support.
5c70: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5c80: 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 0a 54 43  BLE_TH1_HOOKS.TC
5c90: 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e  C += -DFOSSIL_EN
5ca0: 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31  ABLE_TH1_HOOKS=1
5cb0: 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49 4c  .RCC += -DFOSSIL
5cc0: 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b  _ENABLE_TH1_HOOK
5cd0: 53 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69 74  S=1.endif..# Wit
5ce0: 68 20 54 63 6c 20 73 75 70 70 6f 72 74 0a 69 66  h Tcl support.if
5cf0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
5d00: 45 5f 54 43 4c 0a 54 43 43 20 2b 3d 20 2d 44 46  E_TCL.TCC += -DF
5d10: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
5d20: 3d 31 0a 52 43 43 20 2b 3d 20 2d 44 46 4f 53 53  =1.RCC += -DFOSS
5d30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d 31 0a  IL_ENABLE_TCL=1.
5d40: 23 20 45 69 74 68 65 72 20 73 74 61 74 69 63 61  # Either statica
5d50: 6c 6c 79 20 6c 69 6e 6b 65 64 20 6f 72 20 76 69  lly linked or vi
5d60: 61 20 73 74 75 62 73 0a 69 66 64 65 66 20 46 4f  a stubs.ifdef FO
5d70: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f  SSIL_ENABLE_TCL_
5d80: 53 54 55 42 53 0a 54 43 43 20 2b 3d 20 2d 44 46  STUBS.TCC += -DF
5d90: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
5da0: 5f 53 54 55 42 53 3d 31 20 2d 44 55 53 45 5f 54  _STUBS=1 -DUSE_T
5db0: 43 4c 5f 53 54 55 42 53 0a 52 43 43 20 2b 3d 20  CL_STUBS.RCC +=
5dc0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5dd0: 54 43 4c 5f 53 54 55 42 53 3d 31 20 2d 44 55 53  TCL_STUBS=1 -DUS
5de0: 45 5f 54 43 4c 5f 53 54 55 42 53 0a 69 66 64 65  E_TCL_STUBS.ifde
5df0: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  f FOSSIL_ENABLE_
5e00: 54 43 4c 5f 50 52 49 56 41 54 45 5f 53 54 55 42  TCL_PRIVATE_STUB
5e10: 53 0a 54 43 43 20 2b 3d 20 2d 44 46 4f 53 53 49  S.TCC += -DFOSSI
5e20: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49  L_ENABLE_TCL_PRI
5e30: 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 52 43 43  VATE_STUBS=1.RCC
5e40: 20 2b 3d 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41   += -DFOSSIL_ENA
5e50: 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f  BLE_TCL_PRIVATE_
5e60: 53 54 55 42 53 3d 31 0a 65 6e 64 69 66 0a 65 6c  STUBS=1.endif.el
5e70: 73 65 0a 54 43 43 20 2b 3d 20 2d 44 53 54 41 54  se.TCC += -DSTAT
5e80: 49 43 5f 42 55 49 4c 44 0a 52 43 43 20 2b 3d 20  IC_BUILD.RCC +=
5e90: 2d 44 53 54 41 54 49 43 5f 42 55 49 4c 44 0a 65  -DSTATIC_BUILD.e
5ea0: 6e 64 69 66 0a 65 6e 64 69 66 0a 0a 23 20 57 69  ndif.endif..# Wi
5eb0: 74 68 20 4a 53 4f 4e 20 73 75 70 70 6f 72 74 0a  th JSON support.
5ec0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
5ed0: 42 4c 45 5f 4a 53 4f 4e 0a 54 43 43 20 2b 3d 20  BLE_JSON.TCC +=
5ee0: 2d 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  -DFOSSIL_ENABLE_
5ef0: 4a 53 4f 4e 3d 31 0a 52 43 43 20 2b 3d 20 2d 44  JSON=1.RCC += -D
5f00: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53  FOSSIL_ENABLE_JS
5f10: 4f 4e 3d 31 0a 65 6e 64 69 66 0a 0a 23 20 57 69  ON=1.endif..# Wi
5f20: 74 68 20 53 51 4c 69 74 65 20 45 6e 63 72 79 70  th SQLite Encryp
5f30: 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f 6e 20 73  tion Extension s
5f40: 75 70 70 6f 72 74 0a 69 66 64 65 66 20 55 53 45  upport.ifdef USE
5f50: 5f 53 45 45 0a 54 43 43 20 2b 3d 20 2d 44 55 53  _SEE.TCC += -DUS
5f60: 45 5f 53 45 45 3d 31 0a 52 43 43 20 2b 3d 20 2d  E_SEE=1.RCC += -
5f70: 44 55 53 45 5f 53 45 45 3d 31 0a 65 6e 64 69 66  DUSE_SEE=1.endif
5f80: 0a 0a 23 23 23 23 20 54 68 65 20 6f 70 74 69 6f  ..#### The optio
5f90: 6e 20 2d 73 74 61 74 69 63 20 68 61 73 20 6e 6f  n -static has no
5fa0: 20 65 66 66 65 63 74 20 6f 6e 20 4d 69 6e 47 57   effect on MinGW
5fb0: 28 2d 77 36 34 29 2c 20 6f 6e 6c 79 20 64 79 6e  (-w64), only dyn
5fc0: 61 6d 69 63 0a 23 20 20 20 20 65 78 65 63 75 74  amic.#    execut
5fd0: 61 62 6c 65 73 20 63 61 6e 20 62 65 20 62 75 69  ables can be bui
5fe0: 6c 74 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20  lt when linking
5ff0: 77 69 74 68 20 4d 53 56 43 52 54 2e 20 20 4f 70  with MSVCRT.  Op
6000: 65 6e 53 53 4c 0a 23 20 20 20 20 28 6f 70 74 69  enSSL.#    (opti
6010: 6f 6e 61 6c 29 20 61 6e 64 20 7a 6c 69 62 20 28  onal) and zlib (
6020: 72 65 71 75 69 72 65 64 29 20 68 6f 77 65 76 65  required) howeve
6030: 72 20 61 72 65 20 61 6c 77 61 79 73 20 6c 69 6e  r are always lin
6040: 6b 65 64 20 69 6e 0a 23 20 20 20 20 73 74 61 74  ked in.#    stat
6050: 69 63 61 6c 6c 79 2e 20 20 54 68 65 72 65 66 6f  ically.  Therefo
6060: 72 65 2c 20 74 68 65 20 46 4f 53 53 49 4c 5f 44  re, the FOSSIL_D
6070: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 20 6f 70 74  YNAMIC_BUILD opt
6080: 69 6f 6e 20 64 6f 65 73 0a 23 20 20 20 20 6e 6f  ion does.#    no
6090: 74 20 72 65 61 6c 6c 79 20 61 70 70 6c 79 20 74  t really apply t
60a0: 6f 20 4d 69 6e 47 57 20 28 69 2e 65 2e 20 73 69  o MinGW (i.e. si
60b0: 6e 63 65 20 41 4c 4c 20 65 78 74 65 72 6e 61 6c  nce ALL external
60c0: 20 6c 69 62 72 61 72 69 65 73 0a 23 20 20 20 20   libraries.#
60d0: 61 72 65 20 4e 4f 54 20 6c 69 6e 6b 65 64 20 64  are NOT linked d
60e0: 79 6e 61 6d 69 63 61 6c 6c 79 29 2e 0a 23 0a 23  ynamically)..#.#
60f0: 20 4c 49 42 20 3d 20 2d 73 74 61 74 69 63 0a 0a   LIB = -static..
6100: 23 23 23 23 20 4d 69 6e 47 57 3a 20 49 66 20 61  #### MinGW: If a
6110: 76 61 69 6c 61 62 6c 65 2c 20 75 73 65 20 74 68  vailable, use th
6120: 65 20 55 6e 69 63 6f 64 65 20 63 61 70 61 62 6c  e Unicode capabl
6130: 65 20 72 75 6e 74 69 6d 65 20 73 74 61 72 74 75  e runtime startu
6140: 70 20 63 6f 64 65 2e 0a 23 0a 69 66 6e 64 65 66  p code..#.ifndef
6150: 20 4d 49 4e 47 57 5f 49 53 5f 33 32 42 49 54 5f   MINGW_IS_32BIT_
6160: 4f 4e 4c 59 0a 4c 49 42 20 2b 3d 20 2d 6d 75 6e  ONLY.LIB += -mun
6170: 69 63 6f 64 65 0a 65 6e 64 69 66 0a 0a 23 23 23  icode.endif..###
6180: 23 20 53 51 4c 69 74 65 3a 20 49 66 20 65 6e 61  # SQLite: If ena
6190: 62 6c 65 64 2c 20 75 73 65 20 74 68 65 20 73 79  bled, use the sy
61a0: 73 74 65 6d 20 53 51 4c 69 74 65 20 6c 69 62 72  stem SQLite libr
61b0: 61 72 79 2e 0a 23 0a 69 66 64 65 66 20 55 53 45  ary..#.ifdef USE
61c0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 0a 4c  _SYSTEM_SQLITE.L
61d0: 49 42 20 2b 3d 20 2d 6c 73 71 6c 69 74 65 33 0a  IB += -lsqlite3.
61e0: 65 6e 64 69 66 0a 0a 23 23 23 23 20 4f 70 65 6e  endif..#### Open
61f0: 53 53 4c 3a 20 41 64 64 20 74 68 65 20 6e 65 63  SSL: Add the nec
6200: 65 73 73 61 72 79 20 6c 69 62 72 61 72 69 65 73  essary libraries
6210: 20 72 65 71 75 69 72 65 64 2c 20 69 66 20 65 6e   required, if en
6220: 61 62 6c 65 64 2e 0a 23 0a 69 66 64 65 66 20 46  abled..#.ifdef F
6230: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
6240: 0a 4c 49 42 20 2b 3d 20 2d 6c 73 73 6c 20 2d 6c  .LIB += -lssl -l
6250: 63 72 79 70 74 6f 20 2d 6c 67 64 69 33 32 20 2d  crypto -lgdi32 -
6260: 6c 63 72 79 70 74 33 32 0a 65 6e 64 69 66 0a 0a  lcrypt32.endif..
6270: 23 23 23 23 20 54 63 6c 3a 20 41 64 64 20 74 68  #### Tcl: Add th
6280: 65 20 6e 65 63 65 73 73 61 72 79 20 6c 69 62 72  e necessary libr
6290: 61 72 69 65 73 20 72 65 71 75 69 72 65 64 2c 20  aries required,
62a0: 69 66 20 65 6e 61 62 6c 65 64 2e 0a 23 0a 69 66  if enabled..#.if
62b0: 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  def FOSSIL_ENABL
62c0: 45 5f 54 43 4c 0a 4c 49 42 20 2b 3d 20 24 28 4c  E_TCL.LIB += $(L 62d0: 49 42 54 43 4c 29 0a 65 6e 64 69 66 0a 0a 23 23 IBTCL).endif..## 62e0: 23 23 20 45 78 74 72 61 20 61 72 67 75 6d 65 6e ## Extra argumen 62f0: 74 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 74 ts for linking t 6300: 68 65 20 66 69 6e 69 73 68 65 64 20 62 69 6e 61 he finished bina 6310: 72 79 2e 20 20 46 6f 73 73 69 6c 20 6e 65 65 64 ry. Fossil need 6320: 73 0a 23 20 20 20 20 74 6f 20 6c 69 6e 6b 20 61 s.# to link a 6330: 67 61 69 6e 73 74 20 74 68 65 20 5a 2d 4c 69 62 gainst the Z-Lib 6340: 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 69 62 compression lib 6350: 72 61 72 79 2e 20 20 54 68 65 72 65 20 61 72 65 rary. There are 6360: 20 6e 6f 0a 23 20 20 20 20 6f 74 68 65 72 20 6d no.# other m 6370: 61 6e 64 61 74 6f 72 79 20 64 65 70 65 6e 64 65 andatory depende 6380: 6e 63 69 65 73 2e 0a 23 0a 4c 49 42 20 2b 3d 20 ncies..#.LIB += 6390: 2d 6c 6d 69 6e 67 77 65 78 0a 0a 23 23 23 23 20 -lmingwex..#### 63a0: 57 68 65 6e 20 6e 6f 74 20 75 73 69 6e 67 20 74 When not using t 63b0: 68 65 20 6d 69 6e 69 7a 20 63 6f 6d 70 72 65 73 he miniz compres 63c0: 73 69 6f 6e 20 6c 69 62 72 61 72 79 2c 20 7a 6c sion library, zl 63d0: 69 62 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a ib is required.. 63e0: 23 0a 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f #.ifndef FOSSIL_ 63f0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 0a 4c 49 42 ENABLE_MINIZ.LIB 6400: 20 2b 3d 20 2d 6c 7a 0a 65 6e 64 69 66 0a 0a 23 += -lz.endif..# 6410: 23 23 23 20 54 68 65 73 65 20 6c 69 62 72 61 72 ### These librar 6420: 69 65 73 20 4d 55 53 54 20 61 70 70 65 61 72 20 ies MUST appear 6430: 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 in the same orde 6440: 72 20 61 73 20 74 68 65 79 20 64 6f 20 66 6f 72 r as they do for 6450: 20 54 63 6c 0a 23 20 20 20 20 6f 72 20 6c 69 6e Tcl.# or lin 6460: 6b 69 6e 67 20 77 69 74 68 20 69 74 20 77 69 6c king with it wil 6470: 6c 20 6e 6f 74 20 77 6f 72 6b 20 28 65 78 61 63 l not work (exac 6480: 74 20 72 65 61 73 6f 6e 20 75 6e 6b 6e 6f 77 6e t reason unknown 6490: 29 2e 0a 23 0a 69 66 64 65 66 20 46 4f 53 53 49 )..#.ifdef FOSSI 64a0: 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 69 66 64 L_ENABLE_TCL.ifd 64b0: 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 ef FOSSIL_ENABLE 64c0: 5f 54 43 4c 5f 53 54 55 42 53 0a 4c 49 42 20 2b _TCL_STUBS.LIB + 64d0: 3d 20 2d 6c 6b 65 72 6e 65 6c 33 32 20 2d 6c 77 = -lkernel32 -lw 64e0: 73 32 5f 33 32 0a 65 6c 73 65 0a 4c 49 42 20 2b s2_32.else.LIB + 64f0: 3d 20 2d 6c 6e 65 74 61 70 69 33 32 20 2d 6c 6b = -lnetapi32 -lk 6500: 65 72 6e 65 6c 33 32 20 2d 6c 75 73 65 72 33 32 ernel32 -luser32 6510: 20 2d 6c 61 64 76 61 70 69 33 32 20 2d 6c 77 73 -ladvapi32 -lws 6520: 32 5f 33 32 0a 65 6e 64 69 66 0a 65 6c 73 65 0a 2_32.endif.else. 6530: 4c 49 42 20 2b 3d 20 2d 6c 6b 65 72 6e 65 6c 33 LIB += -lkernel3 6540: 32 20 2d 6c 77 73 32 5f 33 32 0a 65 6e 64 69 66 2 -lws2_32.endif 6550: 0a 0a 23 23 23 23 20 54 63 6c 20 73 68 65 6c 6c ..#### Tcl shell 6560: 20 66 6f 72 20 75 73 65 20 69 6e 20 72 75 6e 6e for use in runn 6570: 69 6e 67 20 74 68 65 20 66 6f 73 73 69 6c 20 74 ing the fossil t 6580: 65 73 74 20 73 75 69 74 65 2e 20 20 54 68 69 73 est suite. This 6590: 20 69 73 20 6f 6e 6c 79 0a 23 20 20 20 20 75 73 is only.# us 65a0: 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a ed for testing.. 65b0: 23 0a 54 43 4c 53 48 20 3d 20 74 63 6c 73 68 0a #.TCLSH = tclsh. 65c0: 0a 23 23 23 23 20 4e 75 6c 6c 73 6f 66 74 20 69 .#### Nullsoft i 65d0: 6e 73 74 61 6c 6c 65 72 20 4d 61 6b 65 4e 53 49 nstaller MakeNSI 65e0: 53 20 6c 6f 63 61 74 69 6f 6e 0a 23 0a 4d 41 4b S location.#.MAK 65f0: 45 4e 53 49 53 20 3d 20 22 24 28 50 52 4f 47 52 ENSIS = "$(PROGR
6600: 41 4d 46 49 4c 45 53 29 5c 4e 53 49 53 5c 4d 61  AMFILES)\NSIS\Ma
6610: 6b 65 4e 53 49 53 2e 65 78 65 22 0a 0a 23 23 23  keNSIS.exe"..###
6620: 23 20 49 6e 6e 6f 20 53 65 74 75 70 20 65 78 65  # Inno Setup exe
6630: 63 75 74 61 62 6c 65 20 6c 6f 63 61 74 69 6f 6e  cutable location
6640: 0a 23 0a 49 4e 4e 4f 53 45 54 55 50 20 3d 20 22  .#.INNOSETUP = "
6650: 24 28 50 52 4f 47 52 41 4d 46 49 4c 45 53 29 5c  $(PROGRAMFILES)\ 6660: 49 6e 6e 6f 20 53 65 74 75 70 20 35 5c 49 53 43 Inno Setup 5\ISC 6670: 43 2e 65 78 65 22 0a 0a 23 23 23 23 20 49 6e 63 C.exe"..#### Inc 6680: 6c 75 64 65 20 61 20 63 6f 6e 66 69 67 75 72 61 lude a configura 6690: 74 69 6f 6e 20 66 69 6c 65 20 74 68 61 74 20 63 tion file that c 66a0: 61 6e 20 6f 76 65 72 72 69 64 65 20 61 6e 79 20 an override any 66b0: 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 65 74 one of these set 66c0: 74 69 6e 67 73 2e 0a 23 0a 2d 69 6e 63 6c 75 64 tings..#.-includ 66d0: 65 20 63 6f 6e 66 69 67 2e 77 33 32 0a 0a 23 20 e config.w32..# 66e0: 53 54 4f 50 20 48 45 52 45 0a 23 20 59 6f 75 20 STOP HERE.# You 66f0: 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 65 64 20 should not need 6700: 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 to change anythi 6710: 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c 69 ng below this li 6720: 6e 65 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ne.#------------ 6730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------------- 6740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------------- 6750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 58 42 43 ------------.XBC 6760: 43 20 3d 20 24 28 42 43 43 29 20 24 28 43 46 4c C =$(BCC) $(CFL 6770: 41 47 53 29 0a 58 54 43 43 20 3d 20 24 28 54 43 AGS).XTCC =$(TC
6780: 43 29 20 24 28 43 46 4c 41 47 53 29 20 2d 49 2e  C) $(CFLAGS) -I. 6790: 20 2d 49 24 28 53 52 43 44 49 52 29 0a 7d 0a 77 -I$(SRCDIR).}.w
67a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
67b0: 65 20 22 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  e "SRC =".foreac
67c0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src] 67d0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f {. writeln -no 67e0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 newline " \\\n 67f0: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 22 \$(SRCDIR)/$s.c" 6800: 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a .}.writeln "\n". 6810: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli 6820: 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53 20 ne "EXTRA_FILES 6830: 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 =".foreach s [ls 6840: 6f 72 74 20 24 65 78 74 72 61 5f 66 69 6c 65 73 ort$extra_files
6850: 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ] {.  writeln -n
6860: 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20  onewline " \\\n
6870: 20 5c 24 28 53 52 43 44 49 52 29 2f 24 73 22 0a   \$(SRCDIR)/$s".
6880: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77  }.writeln "\n".w
6890: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
68a0: 65 20 22 54 52 41 4e 53 5f 53 52 43 20 3d 22 0a  e "TRANS_SRC =".
68b0: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
68c0: 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65   $src] {. write 68d0: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 ln -nonewline " 68e0: 5c 5c 5c 6e 20 20 5c 24 28 4f 42 4a 44 49 52 29 \\\n \$(OBJDIR)
68f0: 2f 24 7b 73 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74  /${s}_.c".}.writ 6900: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e eln "\n".writeln 6910: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a -nonewline "OBJ 6920: 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c =".foreach s [l 6930: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 sort$src] {.  w
6940: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
6950: 65 20 22 20 5c 5c 5c 6e 20 5c 24 28 4f 42 4a 44  e " \\\n \$(OBJD 6960: 49 52 29 2f 24 73 2e 6f 22 0a 7d 0a 77 72 69 74 IR)/$s.o".}.writ
6970: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
6980: 20 22 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24   "APPNAME    = $6990: 7b 6e 61 6d 65 7d 2e 65 78 65 22 0a 77 72 69 74 {name}.exe".writ 69a0: 65 6c 6e 20 22 41 50 50 54 41 52 47 45 54 53 20 eln "APPTARGETS 69b0: 3d 22 0a 77 72 69 74 65 6c 6e 20 7b 0a 23 23 23 =".writeln {.### 69c0: 23 20 49 66 20 74 68 65 20 55 53 45 5f 57 49 4e # If the USE_WIN 69d0: 44 4f 57 53 20 76 61 72 69 61 62 6c 65 20 65 78 DOWS variable ex 69e0: 69 73 74 73 2c 20 69 74 20 69 73 20 61 73 73 75 ists, it is assu 69f0: 6d 65 64 20 74 68 61 74 20 77 65 20 61 72 65 20 med that we are 6a00: 62 75 69 6c 64 69 6e 67 0a 23 20 20 20 20 69 6e building.# in 6a10: 73 69 64 65 20 6f 66 20 61 20 57 69 6e 64 6f 77 side of a Window 6a20: 73 2d 73 74 79 6c 65 20 73 68 65 6c 6c 3b 20 6f s-style shell; o 6a30: 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 therwise, it is 6a40: 61 73 73 75 6d 65 64 20 74 68 61 74 20 77 65 20 assumed that we 6a50: 61 72 65 0a 23 20 20 20 20 62 75 69 6c 64 69 6e are.# buildin 6a60: 67 20 69 6e 73 69 64 65 20 6f 66 20 61 20 55 6e g inside of a Un 6a70: 69 78 2d 73 74 79 6c 65 20 73 68 65 6c 6c 2e 20 ix-style shell. 6a80: 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 22 Note that the " 6a90: 6d 6f 76 65 22 20 63 6f 6d 6d 61 6e 64 20 69 73 move" command is 6aa0: 0a 23 20 20 20 20 62 72 6f 6b 65 6e 20 77 68 65 .# broken whe 6ab0: 6e 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 n attempting to 6ac0: 75 73 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 use it from the 6ad0: 57 69 6e 64 6f 77 73 20 73 68 65 6c 6c 20 76 69 Windows shell vi 6ae0: 61 20 4d 69 6e 47 57 20 6d 61 6b 65 0a 23 20 20 a MinGW make.# 6af0: 20 20 62 65 63 61 75 73 65 20 74 68 65 20 53 48 because the SH 6b00: 45 4c 4c 20 76 61 72 69 61 62 6c 65 20 69 73 20 ELL variable is 6b10: 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 20 63 65 only used for ce 6b20: 72 74 61 69 6e 20 63 6f 6d 6d 61 6e 64 73 20 74 rtain commands t 6b30: 68 61 74 20 61 72 65 0a 23 20 20 20 20 72 65 63 hat are.# rec 6b40: 6f 67 6e 69 7a 65 64 20 69 6e 74 65 72 6e 61 6c ognized internal 6b50: 6c 79 20 62 79 20 6d 61 6b 65 2e 0a 23 0a 69 66 ly by make..#.if 6b60: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a def USE_WINDOWS. 6b70: 54 52 41 4e 53 4c 41 54 45 20 20 20 3d 20 24 28 TRANSLATE =$(
6b80: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44  subst /,\,$(OBJD 6b90: 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 65 78 IR)/translate.ex 6ba0: 65 29 0a 4d 41 4b 45 48 45 41 44 45 52 53 20 3d e).MAKEHEADERS = 6bb0: 20 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f$(subst /,\,$(O 6bc0: 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 BJDIR)/makeheade 6bd0: 72 73 2e 65 78 65 29 0a 4d 4b 49 4e 44 45 58 20 rs.exe).MKINDEX 6be0: 20 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c =$(subst /,
6bf0: 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e  \,$(OBJDIR)/mkin 6c00: 64 65 78 2e 65 78 65 29 0a 4d 4b 42 55 49 4c 54 dex.exe).MKBUILT 6c10: 49 4e 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f IN =$(subst /
6c20: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 62  ,\,$(OBJDIR)/mkb 6c30: 75 69 6c 74 69 6e 2e 65 78 65 29 0a 4d 4b 56 45 uiltin.exe).MKVE 6c40: 52 53 49 4f 4e 20 20 20 3d 20 24 28 73 75 62 73 RSION =$(subs
6c50: 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f  t /,\,$(OBJDIR)/ 6c60: 6d 6b 76 65 72 73 69 6f 6e 2e 65 78 65 29 0a 4d mkversion.exe).M 6c70: 4b 43 53 53 20 20 20 20 20 20 20 3d 20 24 28 73 KCSS =$(s
6c80: 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49  ubst /,\,$(OBJDI 6c90: 52 29 2f 6d 6b 63 73 73 2e 65 78 65 29 0a 43 4f R)/mkcss.exe).CO 6ca0: 44 45 43 48 45 43 4b 31 20 20 3d 20 24 28 73 75 DECHECK1 =$(su
6cb0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52  bst /,\,$(OBJDIR 6cc0: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 65 78 65 )/codecheck1.exe 6cd0: 29 0a 43 41 54 20 20 20 20 20 20 20 20 20 3d 20 ).CAT = 6ce0: 74 79 70 65 0a 43 50 20 20 20 20 20 20 20 20 20 type.CP 6cf0: 20 3d 20 63 6f 70 79 0a 47 52 45 50 20 20 20 20 = copy.GREP 6d00: 20 20 20 20 3d 20 66 69 6e 64 0a 4d 56 20 20 20 = find.MV 6d10: 20 20 20 20 20 20 20 3d 20 63 6f 70 79 0a 52 4d = copy.RM 6d20: 20 20 20 20 20 20 20 20 20 20 3d 20 64 65 6c 20 = del 6d30: 2f 51 0a 4d 4b 44 49 52 20 20 20 20 20 20 20 3d /Q.MKDIR = 6d40: 20 2d 6d 6b 64 69 72 0a 52 4d 44 49 52 20 20 20 -mkdir.RMDIR 6d50: 20 20 20 20 3d 20 72 6d 64 69 72 20 2f 53 20 2f = rmdir /S / 6d60: 51 0a 65 6c 73 65 0a 54 52 41 4e 53 4c 41 54 45 Q.else.TRANSLATE 6d70: 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 74 =$(OBJDIR)/t
6d80: 72 61 6e 73 6c 61 74 65 2e 65 78 65 0a 4d 41 4b  ranslate.exe.MAK
6d90: 45 48 45 41 44 45 52 53 20 3d 20 24 28 4f 42 4a  EHEADERS = $(OBJ 6da0: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 DIR)/makeheaders 6db0: 2e 65 78 65 0a 4d 4b 49 4e 44 45 58 20 20 20 20 .exe.MKINDEX 6dc0: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 =$(OBJDIR)/mki
6dd0: 6e 64 65 78 2e 65 78 65 0a 4d 4b 42 55 49 4c 54  ndex.exe.MKBUILT
6de0: 49 4e 20 20 20 3d 20 24 28 4f 42 4a 44 49 52 29  IN   = $(OBJDIR) 6df0: 2f 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65 0a 4d /mkbuiltin.exe.M 6e00: 4b 56 45 52 53 49 4f 4e 20 20 20 3d 20 24 28 4f KVERSION =$(O
6e10: 42 4a 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f 6e  BJDIR)/mkversion
6e20: 2e 65 78 65 0a 4d 4b 43 53 53 20 20 20 20 20 20  .exe.MKCSS
6e30: 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 63   = $(OBJDIR)/mkc 6e40: 73 73 2e 65 78 65 0a 43 4f 44 45 43 48 45 43 4b ss.exe.CODECHECK 6e50: 31 20 20 3d 20 24 28 4f 42 4a 44 49 52 29 2f 63 1 =$(OBJDIR)/c
6e60: 6f 64 65 63 68 65 63 6b 31 2e 65 78 65 0a 43 41  odecheck1.exe.CA
6e70: 54 20 20 20 20 20 20 20 20 20 3d 20 63 61 74 0a  T         = cat.
6e80: 43 50 20 20 20 20 20 20 20 20 20 20 3d 20 63 70  CP          = cp
6e90: 0a 47 52 45 50 20 20 20 20 20 20 20 20 3d 20 67  .GREP        = g
6ea0: 72 65 70 0a 4d 56 20 20 20 20 20 20 20 20 20 20  rep.MV
6eb0: 3d 20 6d 76 0a 52 4d 20 20 20 20 20 20 20 20 20  = mv.RM
6ec0: 20 3d 20 72 6d 20 2d 66 0a 4d 4b 44 49 52 20 20   = rm -f.MKDIR
6ed0: 20 20 20 20 20 3d 20 2d 6d 6b 64 69 72 20 2d 70       = -mkdir -p
6ee0: 0a 52 4d 44 49 52 20 20 20 20 20 20 20 3d 20 72  .RMDIR       = r
6ef0: 6d 20 2d 72 66 0a 65 6e 64 69 66 7d 0a 0a 77 72  m -rf.endif}..wr
6f00: 69 74 65 6c 6e 20 7b 0a 61 6c 6c 3a 09 24 28 4f  iteln {.all:.$(O 6f10: 42 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 BJDIR)$(APPNAME
6f20: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73  )..$(OBJDIR)/fos 6f30: 73 69 6c 2e 6f 3a 09 24 28 53 52 43 44 49 52 29 sil.o:.$(SRCDIR)
6f40: 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 6c 2e 72  /../win/fossil.r
6f50: 63 20 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53  c $(OBJDIR)/VERS 6f60: 49 4f 4e 2e 68 20 24 28 4f 42 4a 44 49 52 29 2f ION.h$(OBJDIR)/
6f70: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 0a 69 66  default_css.h.if
6f80: 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a  def USE_WINDOWS.
6f90: 09 24 28 43 41 54 29 20 24 28 73 75 62 73 74 20  .$(CAT)$(subst
6fa0: 2f 2c 5c 2c 24 28 53 52 43 44 49 52 29 5c 6d 69  /,\,$(SRCDIR)\mi 6fb0: 6e 69 7a 2e 63 29 20 7c 20 24 28 47 52 45 50 29 niz.c) |$(GREP)
6fc0: 20 22 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53   "define MZ_VERS
6fd0: 49 4f 4e 22 20 3e 20 24 28 73 75 62 73 74 20 2f  ION" > $(subst / 6fe0: 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 5c 6d 69 6e ,\,$(OBJDIR)\min
6ff0: 69 7a 76 65 72 2e 68 29 0a 09 24 28 43 50 29 20  izver.h)..$(CP) 7000: 24 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52$(subst /,\,$(SR 7010: 43 44 49 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73 CDIR)\..\win\fos 7020: 73 69 6c 2e 72 63 29 20 24 28 73 75 62 73 74 20 sil.rc)$(subst
7030: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 09  /,\,$(OBJDIR)).. 7040: 24 28 43 50 29 20 24 28 73 75 62 73 74 20 2f 2c$(CP) $(subst /, 7050: 5c 2c 24 28 53 52 43 44 49 52 29 5c 2e 2e 5c 77 \,$(SRCDIR)\..\w
7060: 69 6e 5c 66 6f 73 73 69 6c 2e 69 63 6f 29 20 24  in\fossil.ico) $7070: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a (subst /,\,$(OBJ
7080: 44 49 52 29 29 0a 09 24 28 43 50 29 20 24 28 73  DIR))..$(CP)$(s
7090: 75 62 73 74 20 2f 2c 5c 2c 24 28 53 52 43 44 49  ubst /,\,$(SRCDI 70a0: 52 29 5c 2e 2e 5c 77 69 6e 5c 66 6f 73 73 69 6c R)\..\win\fossil 70b0: 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 29 20 24 .exe.manifest)$
70c0: 28 73 75 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a  (subst /,\,$(OBJ 70d0: 44 49 52 29 29 0a 65 6c 73 65 0a 09 24 28 43 41 DIR)).else..$(CA
70e0: 54 29 20 24 28 53 52 43 44 49 52 29 2f 6d 69 6e  T) $(SRCDIR)/min 70f0: 69 7a 2e 63 20 7c 20 24 28 47 52 45 50 29 20 22 iz.c |$(GREP) "
7100: 64 65 66 69 6e 65 20 4d 5a 5f 56 45 52 53 49 4f  define MZ_VERSIO
7110: 4e 22 20 3e 20 24 28 4f 42 4a 44 49 52 29 2f 6d  N" > $(OBJDIR)/m 7120: 69 6e 69 7a 76 65 72 2e 68 0a 09 24 28 43 50 29 inizver.h..$(CP)
7130: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69   $(SRCDIR)/../wi 7140: 6e 2f 66 6f 73 73 69 6c 2e 72 63 20 24 28 4f 42 n/fossil.rc$(OB
7150: 4a 44 49 52 29 0a 09 24 28 43 50 29 20 24 28 53  JDIR)..$(CP)$(S
7160: 52 43 44 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f  RCDIR)/../win/fo
7170: 73 73 69 6c 2e 69 63 6f 20 24 28 4f 42 4a 44 49  ssil.ico $(OBJDI 7180: 52 29 0a 09 24 28 43 50 29 20 24 28 53 52 43 44 R)..$(CP) $(SRCD 7190: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 66 6f 73 73 69 IR)/../win/fossi 71a0: 6c 2e 65 78 65 2e 6d 61 6e 69 66 65 73 74 20 24 l.exe.manifest$
71b0: 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a 09  (OBJDIR).endif..
71c0: 24 28 52 43 43 29 20 24 28 4f 42 4a 44 49 52 29  $(RCC)$(OBJDIR)
71d0: 2f 66 6f 73 73 69 6c 2e 72 63 20 2d 6f 20 24 28  /fossil.rc -o $( 71e0: 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69 6c 2e 6f OBJDIR)/fossil.o 71f0: 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 4f 42 4a ..install:.$(OBJ
7200: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME). 7210: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 ifdef USE_WINDOW 7220: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75 S..$(MKDIR) $(su 7230: 62 73 74 20 2f 2c 5c 2c 24 28 49 4e 53 54 41 4c bst /,\,$(INSTAL
7240: 4c 44 49 52 29 29 0a 09 24 28 4d 56 29 20 24 28  LDIR))..$(MV)$(
7250: 73 75 62 73 74 20 2f 2c 5c 2c 24 28 41 50 50 4e  subst /,\,$(APPN 7260: 41 4d 45 29 29 20 24 28 73 75 62 73 74 20 2f 2c AME))$(subst /,
7270: 5c 2c 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 29  \,$(INSTALLDIR)) 7280: 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52 29 20 .else..$(MKDIR)
7290: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 09 24  $(INSTALLDIR)..$
72a0: 28 4d 56 29 20 24 28 41 50 50 4e 41 4d 45 29 20  (MV) $(APPNAME) 72b0: 24 28 49 4e 53 54 41 4c 4c 44 49 52 29 0a 65 6e$(INSTALLDIR).en
72c0: 64 69 66 0a 0a 24 28 4f 42 4a 44 49 52 29 3a 0a  dif..$(OBJDIR):. 72d0: 69 66 64 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 ifdef USE_WINDOW 72e0: 53 0a 09 24 28 4d 4b 44 49 52 29 20 24 28 73 75 S..$(MKDIR) $(su 72f0: 62 73 74 20 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 bst /,\,$(OBJDIR
7300: 29 29 0a 65 6c 73 65 0a 09 24 28 4d 4b 44 49 52  )).else..$(MKDIR 7310: 29 20 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 )$(OBJDIR).endi
7320: 66 0a 0a 24 28 54 52 41 4e 53 4c 41 54 45 29 3a  f..$(TRANSLATE): 7330: 09 24 28 53 52 43 44 49 52 29 2f 74 72 61 6e 73 .$(SRCDIR)/trans
7340: 6c 61 74 65 2e 63 0a 09 24 28 58 42 43 43 29 20  late.c..$(XBCC) 7350: 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 29 2f -o$@ $(SRCDIR)/ 7360: 74 72 61 6e 73 6c 61 74 65 2e 63 0a 0a 24 28 4d translate.c..$(M
7370: 41 4b 45 48 45 41 44 45 52 53 29 3a 09 24 28 53  AKEHEADERS):.$(S 7380: 52 43 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 RCDIR)/makeheade 7390: 72 73 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f rs.c..$(XBCC) -o
73a0: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 61   $@$(SRCDIR)/ma
73b0: 6b 65 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4d  keheaders.c..$(M 73c0: 4b 49 4e 44 45 58 29 3a 09 24 28 53 52 43 44 49 KINDEX):.$(SRCDI
73d0: 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28  R)/mkindex.c..$( 73e0: 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28 53 52 XBCC) -o$@ $(SR 73f0: 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e 63 0a CDIR)/mkindex.c. 7400: 0a 24 28 4d 4b 42 55 49 4c 54 49 4e 29 3a 09 24 .$(MKBUILTIN):.$7410: 28 53 52 43 44 49 52 29 2f 6d 6b 62 75 69 6c 74 (SRCDIR)/mkbuilt 7420: 69 6e 2e 63 0a 09 24 28 58 42 43 43 29 20 2d 6f in.c..$(XBCC) -o
7430: 20 24 40 20 24 28 53 52 43 44 49 52 29 2f 6d 6b   $@$(SRCDIR)/mk
7440: 62 75 69 6c 74 69 6e 2e 63 0a 0a 24 28 4d 4b 56  builtin.c..$(MKV 7450: 45 52 53 49 4f 4e 29 3a 20 24 28 53 52 43 44 49 ERSION):$(SRCDI
7460: 52 29 2f 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a 09  R)/mkversion.c..
7470: 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 24 28  $(XBCC) -o$@ $( 7480: 53 52 43 44 49 52 29 2f 6d 6b 76 65 72 73 69 6f SRCDIR)/mkversio 7490: 6e 2e 63 0a 0a 24 28 4d 4b 43 53 53 29 3a 20 24 n.c..$(MKCSS): $74a0: 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e 63 (SRCDIR)/mkcss.c 74b0: 0a 09 24 28 58 42 43 43 29 20 2d 6f 20 24 40 20 ..$(XBCC) -o $@ 74c0: 24 28 53 52 43 44 49 52 29 2f 6d 6b 63 73 73 2e$(SRCDIR)/mkcss.
74d0: 63 0a 0a 24 28 43 4f 44 45 43 48 45 43 4b 31 29  c..$(CODECHECK1) 74e0: 3a 09 24 28 53 52 43 44 49 52 29 2f 63 6f 64 65 :.$(SRCDIR)/code
74f0: 63 68 65 63 6b 31 2e 63 0a 09 24 28 58 42 43 43  check1.c..$(XBCC 7500: 29 20 2d 6f 20 24 40 20 24 28 53 52 43 44 49 52 ) -o$@ $(SRCDIR 7510: 29 2f 63 6f 64 65 63 68 65 63 6b 31 2e 63 0a 0a )/codecheck1.c.. 7520: 23 20 57 41 52 4e 49 4e 47 2e 20 44 41 4e 47 45 # WARNING. DANGE 7530: 52 2e 20 52 75 6e 6e 69 6e 67 20 74 68 65 20 74 R. Running the t 7540: 65 73 74 20 73 75 69 74 65 20 6d 6f 64 69 66 69 est suite modifi 7550: 65 73 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 es the repositor 7560: 79 20 74 68 65 0a 23 20 62 75 69 6c 64 20 69 73 y the.# build is 7570: 20 64 6f 6e 65 20 66 72 6f 6d 2c 20 69 2e 65 2e done from, i.e. 7580: 20 74 68 65 20 63 68 65 63 6b 6f 75 74 20 62 65 the checkout be 7590: 6c 6f 6e 67 73 20 74 6f 2e 20 44 6f 20 6e 6f 74 longs to. Do not 75a0: 20 73 79 6e 63 2f 70 75 73 68 0a 23 20 74 68 65 sync/push.# the 75b0: 20 72 65 70 6f 73 69 74 6f 72 79 20 61 66 74 65 repository afte 75c0: 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 74 65 r running the te 75d0: 73 74 73 2e 0a 74 65 73 74 3a 09 24 28 4f 42 4a sts..test:.$(OBJ
75e0: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME). 75f0: 09 24 28 54 43 4c 53 48 29 20 24 28 53 52 43 44 .$(TCLSH) $(SRCD 7600: 49 52 29 2f 2e 2e 2f 74 65 73 74 2f 74 65 73 74 IR)/../test/test 7610: 65 72 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45 er.tcl$(APPNAME
7620: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 56 45 52  )..$(OBJDIR)/VER 7630: 53 49 4f 4e 2e 68 3a 09 24 28 53 52 43 44 49 52 SION.h:.$(SRCDIR
7640: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75  )/../manifest.uu
7650: 69 64 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f  id $(SRCDIR)/../ 7660: 6d 61 6e 69 66 65 73 74 20 24 28 4d 4b 56 45 52 manifest$(MKVER
7670: 53 49 4f 4e 29 0a 09 24 28 4d 4b 56 45 52 53 49  SION)..$(MKVERSI 7680: 4f 4e 29 20 24 28 53 52 43 44 49 52 29 2f 2e 2e ON)$(SRCDIR)/..
7690: 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  /manifest.uuid $76a0: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 (SRCDIR)/../mani 76b0: 66 65 73 74 20 24 28 53 52 43 44 49 52 29 2f 2e fest$(SRCDIR)/.
76c0: 2e 2f 56 45 52 53 49 4f 4e 20 3e 24 40 0a 0a 24  ./VERSION >$@..$
76d0: 28 4f 42 4a 44 49 52 29 2f 64 65 66 61 75 6c 74  (OBJDIR)/default
76e0: 5f 63 73 73 2e 68 3a 09 24 28 53 52 43 44 49 52  _css.h:.$(SRCDIR 76f0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 )/default_css.tx 7700: 74 20 24 28 4d 4b 43 53 53 29 0a 09 24 28 4d 4b t$(MKCSS)..$(MK 7710: 43 53 53 29 20 24 28 53 52 43 44 49 52 29 2f 64 CSS)$(SRCDIR)/d
7720: 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24  efault_css.txt $7730: 40 0a 0a 23 20 54 68 65 20 55 53 45 5f 53 59 53 @..# The USE_SYS 7740: 54 45 4d 5f 53 51 4c 49 54 45 20 76 61 72 69 61 TEM_SQLITE varia 7750: 62 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 ble may be undef 7760: 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 30 2c 20 ined, set to 0, 7770: 6f 72 20 73 65 74 0a 23 20 74 6f 20 31 2e 20 49 or set.# to 1. I 7780: 66 20 69 74 20 69 73 20 73 65 74 20 74 6f 20 31 f it is set to 1 7790: 2c 20 74 68 65 6e 20 74 68 65 72 65 20 69 73 20 , then there is 77a0: 6e 6f 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 no need to build 77b0: 20 6f 72 20 6c 69 6e 6b 0a 23 20 74 68 65 20 73 or link.# the s 77c0: 71 6c 69 74 65 33 2e 6f 20 6f 62 6a 65 63 74 2e qlite3.o object. 77d0: 20 49 6e 73 74 65 61 64 2c 20 74 68 65 20 73 79 Instead, the sy 77e0: 73 74 65 6d 20 53 51 4c 69 74 65 20 77 69 6c 6c stem SQLite will 77f0: 20 62 65 20 6c 69 6e 6b 65 64 0a 23 20 75 73 69 be linked.# usi 7800: 6e 67 20 2d 6c 73 71 6c 69 74 65 33 2e 0a 53 51 ng -lsqlite3..SQ 7810: 4c 49 54 45 33 5f 4f 42 4a 2e 30 20 3d 20 24 28 LITE3_OBJ.0 =$(
7820: 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  OBJDIR)/sqlite3.
7830: 6f 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 31 20  o.SQLITE3_OBJ.1
7840: 3d 0a 53 51 4c 49 54 45 33 5f 4f 42 4a 2e 20 20  =.SQLITE3_OBJ.
7850: 3d 20 24 28 53 51 4c 49 54 45 33 5f 4f 42 4a 2e  = $(SQLITE3_OBJ. 7860: 30 29 0a 0a 23 20 54 68 65 20 46 4f 53 53 49 4c 0)..# The FOSSIL 7870: 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 76 61 _ENABLE_MINIZ va 7880: 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 75 6e riable may be un 7890: 64 65 66 69 6e 65 64 2c 20 73 65 74 20 74 6f 20 defined, set to 78a0: 30 2c 20 6f 72 0a 23 20 73 65 74 20 74 6f 20 31 0, or.# set to 1 78b0: 2e 20 20 49 66 20 69 74 20 69 73 20 73 65 74 20 . If it is set 78c0: 74 6f 20 31 2c 20 74 68 65 20 6d 69 6e 69 7a 20 to 1, the miniz 78d0: 6c 69 62 72 61 72 79 20 69 6e 63 6c 75 64 65 64 library included 78e0: 20 69 6e 20 74 68 65 0a 23 20 73 6f 75 72 63 65 in the.# source 78f0: 20 74 72 65 65 20 73 68 6f 75 6c 64 20 62 65 20 tree should be 7900: 75 73 65 64 3b 20 6f 74 68 65 72 77 69 73 65 2c used; otherwise, 7910: 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 2e 0a it should not.. 7920: 4d 49 4e 49 5a 5f 4f 42 4a 2e 30 20 3d 0a 4d 49 MINIZ_OBJ.0 =.MI 7930: 4e 49 5a 5f 4f 42 4a 2e 31 20 3d 20 24 28 4f 42 NIZ_OBJ.1 =$(OB
7940: 4a 44 49 52 29 2f 6d 69 6e 69 7a 2e 6f 0a 4d 49  JDIR)/miniz.o.MI
7950: 4e 49 5a 5f 4f 42 4a 2e 20 20 3d 20 24 28 4d 49  NIZ_OBJ.  = $(MI 7960: 4e 49 5a 5f 4f 42 4a 2e 30 29 0a 0a 23 20 54 68 NIZ_OBJ.0)..# Th 7970: 65 20 55 53 45 5f 53 45 45 20 76 61 72 69 61 62 e USE_SEE variab 7980: 6c 65 20 6d 61 79 20 62 65 20 75 6e 64 65 66 69 le may be undefi 7990: 6e 65 64 2c 20 30 20 6f 72 20 31 2e 20 20 49 66 ned, 0 or 1. If 79a0: 20 75 6e 64 65 66 69 6e 65 64 20 6f 72 0a 23 20 undefined or.# 79b0: 30 2c 20 6f 72 64 69 6e 61 72 79 20 53 51 4c 69 0, ordinary SQLi 79c0: 74 65 20 69 73 20 75 73 65 64 2e 20 20 49 66 20 te is used. If 79d0: 31 2c 20 74 68 65 6e 20 73 71 6c 69 74 65 33 2d 1, then sqlite3- 79e0: 73 65 65 2e 63 20 28 6e 6f 74 20 70 61 72 74 20 see.c (not part 79f0: 6f 66 0a 23 20 74 68 65 20 73 6f 75 72 63 65 20 of.# the source 7a00: 74 72 65 65 29 20 69 73 20 75 73 65 64 20 61 6e tree) is used an 7a10: 64 20 65 78 74 72 61 20 66 6c 61 67 73 20 61 72 d extra flags ar 7a20: 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 65 6e e provided to en 7a30: 61 62 6c 65 0a 23 20 74 68 65 20 53 51 4c 69 74 able.# the SQLit 7a40: 65 20 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 e Encryption Ext 7a50: 65 6e 73 69 6f 6e 2e 0a 53 51 4c 49 54 45 33 5f ension..SQLITE3_ 7a60: 53 52 43 2e 30 20 3d 20 73 71 6c 69 74 65 33 2e SRC.0 = sqlite3. 7a70: 63 0a 53 51 4c 49 54 45 33 5f 53 52 43 2e 31 20 c.SQLITE3_SRC.1 7a80: 3d 20 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a = sqlite3-see.c. 7a90: 53 51 4c 49 54 45 33 5f 53 52 43 2e 20 3d 20 73 SQLITE3_SRC. = s 7aa0: 71 6c 69 74 65 33 2e 63 0a 53 51 4c 49 54 45 33 qlite3.c.SQLITE3 7ab0: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 _SRC =$(SRCDIR)
7ac0: 2f 24 28 53 51 4c 49 54 45 33 5f 53 52 43 2e 24  /$(SQLITE3_SRC.$
7ad0: 28 55 53 45 5f 53 45 45 29 29 0a 53 51 4c 49 54  (USE_SEE)).SQLIT
7ae0: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 30 20 3d  E3_SHELL_SRC.0 =
7af0: 20 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33   shell.c.SQLITE3
7b00: 5f 53 48 45 4c 4c 5f 53 52 43 2e 31 20 3d 20 73  _SHELL_SRC.1 = s
7b10: 68 65 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54  hell-see.c.SQLIT
7b20: 45 33 5f 53 48 45 4c 4c 5f 53 52 43 2e 20 3d 20  E3_SHELL_SRC. =
7b30: 73 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f  shell.c.SQLITE3_
7b40: 53 48 45 4c 4c 5f 53 52 43 20 3d 20 24 28 53 52  SHELL_SRC = $(SR 7b50: 43 44 49 52 29 2f 24 28 53 51 4c 49 54 45 33 5f CDIR)/$(SQLITE3_
7b60: 53 48 45 4c 4c 5f 53 52 43 2e 24 28 55 53 45 5f  SHELL_SRC.$(USE_ 7b70: 53 45 45 29 29 0a 53 45 45 5f 46 4c 41 47 53 2e SEE)).SEE_FLAGS. 7b80: 30 20 3d 0a 53 45 45 5f 46 4c 41 47 53 2e 31 20 0 =.SEE_FLAGS.1 7b90: 3d 20 2d 44 53 51 4c 49 54 45 5f 48 41 53 5f 43 = -DSQLITE_HAS_C 7ba0: 4f 44 45 43 20 2d 44 53 51 4c 49 54 45 5f 53 48 ODEC -DSQLITE_SH 7bb0: 45 4c 4c 5f 44 42 4b 45 59 5f 50 52 4f 43 3d 66 ELL_DBKEY_PROC=f 7bc0: 6f 73 73 69 6c 5f 6b 65 79 0a 53 45 45 5f 46 4c ossil_key.SEE_FL 7bd0: 41 47 53 2e 20 3d 0a 53 45 45 5f 46 4c 41 47 53 AGS. =.SEE_FLAGS 7be0: 20 3d 20 24 28 53 45 45 5f 46 4c 41 47 53 2e 24 =$(SEE_FLAGS.$7bf0: 28 55 53 45 5f 53 45 45 29 29 0a 7d 0a 0a 77 72 (USE_SEE)).}..wr 7c00: 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67 20 6d 61 iteln [string ma 7c10: 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e 45 58 54 5f p [list <<<NEXT_ 7c20: 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 7b 0a 45 58 LINE>>> \\] {.EX 7c30: 54 52 41 4f 42 4a 20 3d 20 3c 3c 3c 4e 45 58 54 TRAOBJ = <<<NEXT 7c40: 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 53 51 4c 49 _LINE>>>.$(SQLI
7c50: 54 45 33 5f 4f 42 4a 2e 24 28 55 53 45 5f 53 59  TE3_OBJ.$(USE_SY 7c60: 53 54 45 4d 5f 53 51 4c 49 54 45 29 29 20 3c 3c STEM_SQLITE)) << 7c70: 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 <NEXT_LINE>>>.$
7c80: 28 4d 49 4e 49 5a 5f 4f 42 4a 2e 24 28 46 4f 53  (MINIZ_OBJ.$(FOS 7c90: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a SIL_ENABLE_MINIZ 7ca0: 29 29 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e )) <<<NEXT_LINE> 7cb0: 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 2f 73 68 >>.$(OBJDIR)/sh
7cc0: 65 6c 6c 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49  ell.o <<<NEXT_LI
7cd0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29  NE>>>. $(OBJDIR) 7ce0: 2f 74 68 2e 6f 20 3c 3c 3c 4e 45 58 54 5f 4c 49 /th.o <<<NEXT_LI 7cf0: 4e 45 3e 3e 3e 0a 20 24 28 4f 42 4a 44 49 52 29 NE>>>.$(OBJDIR)
7d00: 2f 74 68 5f 6c 61 6e 67 2e 6f 20 3c 3c 3c 4e 45  /th_lang.o <<<NE
7d10: 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 24 28 4f 42  XT_LINE>>>. $(OB 7d20: 4a 44 49 52 29 2f 74 68 5f 74 63 6c 2e 6f 20 3c JDIR)/th_tcl.o < 7d30: 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e 0a 20 <<NEXT_LINE>>>. 7d40: 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f 6e 5f 61$(OBJDIR)/cson_a
7d50: 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f 0a 7d 5d  malgamation.o.}]
7d60: 0a 0a 77 72 69 74 65 6c 6e 20 7b 0a 24 28 5a 4c  ..writeln {.$(ZL 7d70: 49 42 44 49 52 29 2f 69 6e 66 66 61 73 38 36 2e IBDIR)/inffas86. 7d80: 6f 3a 0a 09 24 28 54 43 43 29 20 2d 63 20 2d 6f o:..$(TCC) -c -o
7d90: 20 24 40 20 2d 44 41 53 4d 49 4e 46 20 2d 49 24   $@ -DASMINF -I$
7da0: 28 5a 4c 49 42 44 49 52 29 20 2d 4f 33 20 24 28  (ZLIBDIR) -O3 $( 7db0: 5a 4c 49 42 44 49 52 29 2f 63 6f 6e 74 72 69 62 ZLIBDIR)/contrib 7dc0: 2f 69 6e 66 6c 61 74 65 38 36 2f 69 6e 66 66 61 /inflate86/inffa 7dd0: 73 38 36 2e 63 0a 0a 24 28 5a 4c 49 42 44 49 52 s86.c..$(ZLIBDIR
7de0: 29 2f 6d 61 74 63 68 2e 6f 3a 0a 09 24 28 54 43  )/match.o:..$(TC 7df0: 43 29 20 2d 63 20 2d 6f 20 24 40 20 2d 44 41 53 C) -c -o$@ -DAS
7e00: 4d 56 20 24 28 5a 4c 49 42 44 49 52 29 2f 63 6f  MV $(ZLIBDIR)/co 7e10: 6e 74 72 69 62 2f 61 73 6d 36 38 36 2f 6d 61 74 ntrib/asm686/mat 7e20: 63 68 2e 53 0a 0a 7a 6c 69 62 3a 09 24 28 5a 4c ch.S..zlib:.$(ZL
7e30: 49 42 54 41 52 47 45 54 53 29 0a 09 24 28 4d 41  IBTARGETS)..$(MA 7e40: 4b 45 29 20 2d 43 20 24 28 5a 4c 49 42 44 49 52 KE) -C$(ZLIBDIR
7e50: 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49  ) PREFIX=$(PREFI 7e60: 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24 X) CC=$(PREFIX)$7e70: 28 54 43 43 45 58 45 29 20 24 28 5a 4c 49 42 43 (TCCEXE)$(ZLIBC
7e80: 4f 4e 46 49 47 29 20 2d 66 20 77 69 6e 33 32 2f  ONFIG) -f win32/
7e90: 4d 61 6b 65 66 69 6c 65 2e 67 63 63 20 6c 69 62  Makefile.gcc lib
7ea0: 7a 2e 61 0a 0a 63 6c 65 61 6e 2d 7a 6c 69 62 3a  z.a..clean-zlib:
7eb0: 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20 24 28 5a  ..$(MAKE) -C$(Z
7ec0: 4c 49 42 44 49 52 29 20 50 52 45 46 49 58 3d 24  LIBDIR) PREFIX=$7ed0: 28 50 52 45 46 49 58 29 20 43 43 3d 24 28 50 52 (PREFIX) CC=$(PR
7ee0: 45 46 49 58 29 24 28 54 43 43 45 58 45 29 20 2d  EFIX)$(TCCEXE) - 7ef0: 66 20 77 69 6e 33 32 2f 4d 61 6b 65 66 69 6c 65 f win32/Makefile 7f00: 2e 67 63 63 20 63 6c 65 61 6e 0a 0a 69 66 64 65 .gcc clean..ifde 7f10: 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f f FOSSIL_ENABLE_ 7f20: 4d 49 4e 49 5a 0a 42 4c 44 54 41 52 47 45 54 53 MINIZ.BLDTARGETS 7f30: 20 3d 0a 65 6c 73 65 0a 42 4c 44 54 41 52 47 45 =.else.BLDTARGE 7f40: 54 53 20 3d 20 7a 6c 69 62 0a 65 6e 64 69 66 0a TS = zlib.endif. 7f50: 0a 6f 70 65 6e 73 73 6c 3a 09 24 28 42 4c 44 54 .openssl:.$(BLDT
7f60: 41 52 47 45 54 53 29 0a 09 63 64 20 24 28 4f 50  ARGETS)..cd $(OP 7f70: 45 4e 53 53 4c 4c 49 42 44 49 52 29 3b 2e 2f 43 ENSSLLIBDIR);./C 7f80: 6f 6e 66 69 67 75 72 65 20 2d 2d 63 72 6f 73 73 onfigure --cross 7f90: 2d 63 6f 6d 70 69 6c 65 2d 70 72 65 66 69 78 3d -compile-prefix= 7fa0: 24 28 50 52 45 46 49 58 29 20 24 28 53 53 4c 43$(PREFIX) $(SSLC 7fb0: 4f 4e 46 49 47 29 0a 09 24 28 4d 41 4b 45 29 20 ONFIG)..$(MAKE)
7fc0: 2d 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44  -C $(OPENSSLLIBD 7fd0: 49 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 IR) PREFIX=$(PRE
7fe0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58  FIX) CC=$(PREFIX 7ff0: 29 24 28 54 43 43 45 58 45 29 20 62 75 69 6c 64 )$(TCCEXE) build
8000: 5f 6c 69 62 73 0a 0a 63 6c 65 61 6e 2d 6f 70 65  _libs..clean-ope
8010: 6e 73 73 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d  nssl:..$(MAKE) - 8020: 43 20 24 28 4f 50 45 4e 53 53 4c 4c 49 42 44 49 C$(OPENSSLLIBDI
8030: 52 29 20 50 52 45 46 49 58 3d 24 28 50 52 45 46  R) PREFIX=$(PREF 8040: 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 IX) CC=$(PREFIX)
8050: 24 28 54 43 43 45 58 45 29 20 63 6c 65 61 6e 0a  $(TCCEXE) clean. 8060: 0a 74 63 6c 3a 0a 09 63 64 20 24 28 54 43 4c 53 .tcl:..cd$(TCLS
8070: 52 43 44 49 52 29 2f 77 69 6e 3b 2e 2f 63 6f 6e  RCDIR)/win;./con
8080: 66 69 67 75 72 65 0a 09 24 28 4d 41 4b 45 29 20  figure..$(MAKE) 8090: 2d 43 20 24 28 54 43 4c 53 52 43 44 49 52 29 2f -C$(TCLSRCDIR)/
80a0: 77 69 6e 20 50 52 45 46 49 58 3d 24 28 50 52 45  win PREFIX=$(PRE 80b0: 46 49 58 29 20 43 43 3d 24 28 50 52 45 46 49 58 FIX) CC=$(PREFIX
80c0: 29 24 28 54 43 43 45 58 45 29 20 24 28 54 43 4c  )$(TCCEXE)$(TCL
80d0: 54 41 52 47 45 54 29 0a 0a 63 6c 65 61 6e 2d 74  TARGET)..clean-t
80e0: 63 6c 3a 0a 09 24 28 4d 41 4b 45 29 20 2d 43 20  cl:..$(MAKE) -C 80f0: 24 28 54 43 4c 53 52 43 44 49 52 29 2f 77 69 6e$(TCLSRCDIR)/win
8100: 20 50 52 45 46 49 58 3d 24 28 50 52 45 46 49 58   PREFIX=$(PREFIX 8110: 29 20 43 43 3d 24 28 50 52 45 46 49 58 29 24 28 ) CC=$(PREFIX)$( 8120: 54 43 43 45 58 45 29 20 64 69 73 74 63 6c 65 61 TCCEXE) distclea 8130: 6e 0a 0a 41 50 50 54 41 52 47 45 54 53 20 2b 3d n..APPTARGETS += 8140: 20 24 28 42 4c 44 54 41 52 47 45 54 53 29 0a 0a$(BLDTARGETS)..
8150: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 42 55 49  ifdef FOSSIL_BUI
8160: 4c 44 5f 53 53 4c 0a 41 50 50 54 41 52 47 45 54  LD_SSL.APPTARGET
8170: 53 20 2b 3d 20 6f 70 65 6e 73 73 6c 0a 65 6e 64  S += openssl.end
8180: 69 66 0a 0a 24 28 41 50 50 4e 41 4d 45 29 3a 09  if..$(APPNAME):. 8190: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 24 28$(APPTARGETS) $( 81a0: 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 20 OBJDIR)/headers 81b0: 24 28 43 4f 44 45 43 48 45 43 4b 31 29 20 24 28$(CODECHECK1) $( 81c0: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29 OBJ)$(EXTRAOBJ)
81d0: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69   $(OBJDIR)/fossi 81e0: 6c 2e 6f 0a 09 24 28 43 4f 44 45 43 48 45 43 4b l.o..$(CODECHECK
81f0: 31 29 20 24 28 54 52 41 4e 53 5f 53 52 43 29 0a  1) $(TRANS_SRC). 8200: 09 24 28 54 43 43 29 20 2d 6f 20 24 40 20 24 28 .$(TCC) -o $@$(
8210: 4f 42 4a 29 20 24 28 45 58 54 52 41 4f 42 4a 29  OBJ) $(EXTRAOBJ) 8220: 20 24 28 4f 42 4a 44 49 52 29 2f 66 6f 73 73 69$(OBJDIR)/fossi
8230: 6c 2e 6f 20 24 28 4c 49 42 29 0a 0a 23 20 54 68  l.o $(LIB)..# Th 8240: 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e 74 73 is rule prevents 8250: 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69 6e 67 make from using 8260: 20 69 74 73 20 64 65 66 61 75 6c 74 20 72 75 6c its default rul 8270: 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c 64 0a es to try build. 8280: 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 # an executable 8290: 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74 22 named "manifest" 82a0: 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69 6c 65 out of the file 82b0: 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73 74 named "manifest 82c0: 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52 29 2f .c".#.$(SRCDIR)/
82d0: 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 0a 09 23 20  ../manifest:..#
82e0: 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 0a 69 66 64  noop..clean:.ifd
82f0: 65 66 20 55 53 45 5f 57 49 4e 44 4f 57 53 0a 09  ef USE_WINDOWS..
8300: 24 28 52 4d 29 20 24 28 73 75 62 73 74 20 2f 2c  $(RM)$(subst /,
8310: 5c 2c 24 28 41 50 50 4e 41 4d 45 29 29 0a 09 24  \,$(APPNAME))..$
8320: 28 52 4d 44 49 52 29 20 24 28 73 75 62 73 74 20  (RMDIR) $(subst 8330: 2f 2c 5c 2c 24 28 4f 42 4a 44 49 52 29 29 0a 65 /,\,$(OBJDIR)).e
8340: 6c 73 65 0a 09 24 28 52 4d 29 20 24 28 41 50 50  lse..$(RM)$(APP
8350: 4e 41 4d 45 29 0a 09 24 28 52 4d 44 49 52 29 20  NAME)..$(RMDIR) 8360: 24 28 4f 42 4a 44 49 52 29 0a 65 6e 64 69 66 0a$(OBJDIR).endif.
8370: 0a 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 52  .setup: $(OBJDIR 8380: 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 )$(APPNAME)..$( 8390: 4d 41 4b 45 4e 53 49 53 29 20 2e 2f 73 65 74 75 MAKENSIS) ./setu 83a0: 70 2f 66 6f 73 73 69 6c 2e 6e 73 69 0a 0a 69 6e p/fossil.nsi..in 83b0: 6e 6f 73 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 nosetup:$(OBJDI
83c0: 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 09 24  R) $(APPNAME)..$
83d0: 28 49 4e 4e 4f 53 45 54 55 50 29 20 2e 2f 73 65  (INNOSETUP) ./se
83e0: 74 75 70 2f 66 6f 73 73 69 6c 2e 69 73 73 20 2d  tup/fossil.iss -
83f0: 44 41 70 70 56 65 72 73 69 6f 6e 3d 24 28 73 68  DAppVersion=$(sh 8400: 65 6c 6c 20 24 28 43 41 54 29 20 2e 2f 56 45 52 ell$(CAT) ./VER
8410: 53 49 4f 4e 29 0a 7d 0a 0a 73 65 74 20 6d 68 61  SION).}..set mha
8420: 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73  rgs {}.foreach s
8430: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {. 8440: 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 if {[string le 8450: 6e 67 74 68 20 24 6d 68 61 72 67 73 5d 20 3e 20 ngth$mhargs] >
8460: 30 7d 20 7b 61 70 70 65 6e 64 20 6d 68 61 72 67  0} {append mharg
8470: 73 20 22 20 5c 5c 5c 6e 5c 74 5c 74 22 7d 0a 20  s " \\\n\t\t"}.
8480: 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22   append mhargs "
8490: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
84a0: 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  .c:\$(OBJDIR)/$s
84b0: 2e 68 22 0a 20 20 73 65 74 20 65 78 74 72 61 5f  .h".  set extra_
84c0: 68 28 24 73 29 20 7b 20 7d 0a 7d 0a 61 70 70 65  h($s) { }.}.appe 84d0: 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e nd mhargs " \\\n 84e0: 5c 74 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 73 \t\t\$(SRCDIR)/s
84f0: 71 6c 69 74 65 33 2e 68 22 0a 61 70 70 65 6e 64  qlite3.h".append
8500: 20 6d 68 61 72 67 73 20 22 20 5c 5c 5c 6e 5c 74   mhargs " \\\n\t
8510: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 2e  \t\$(SRCDIR)/th. 8520: 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73 h".append mhargs 8530: 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 24 28 4f 42 " \\\n\t\t\$(OB
8540: 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 22  JDIR)/VERSION.h"
8550: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a  .writeln "\$(OBJ 8560: 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e DIR)/page_index. 8570: 68 3a 20 5c 24 28 54 52 41 4e 53 5f 53 52 43 29 h: \$(TRANS_SRC)
8580: 20 5c 24 28 4d 4b 49 4e 44 45 58 29 22 0a 77 72   \$(MKINDEX)".wr 8590: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b 49 4e iteln "\t\$(MKIN
85a0: 44 45 58 29 20 5c 24 28 54 52 41 4e 53 5f 53 52  DEX) \$(TRANS_SR 85b0: 43 29 20 3e 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 C) >\$@\n"..writ
85c0: 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f  eln "\$(OBJDIR)/ 85d0: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 5c builtin_data.h:\ 85e0: 74 5c 24 28 4d 4b 42 55 49 4c 54 49 4e 29 20 5c t\$(MKBUILTIN) \
85f0: 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 22 0a  $(EXTRA_FILES)". 8600: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b writeln "\t\$(MK
8610: 42 55 49 4c 54 49 4e 29 20 2d 2d 70 72 65 66 69  BUILTIN) --prefi
8620: 78 20 5c 24 28 53 52 43 44 49 52 29 2f 20 5c 24  x \$(SRCDIR)/ \$
8630: 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 5c  (EXTRA_FILES) >\
8640: 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22  $@\n"..writeln " 8650: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 \$(OBJDIR)/heade
8660: 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f  rs:\t\$(OBJDIR)/ 8670: 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24 28 page_index.h \$(
8680: 4f 42 4a 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f  OBJDIR)/builtin_
8690: 64 61 74 61 2e 68 20 5c 24 28 4f 42 4a 44 49 52  data.h \$(OBJDIR 86a0: 29 2f 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 )/default_css.h 86b0: 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 20 \$(MAKEHEADERS)
86c0: 5c 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  \$(OBJDIR)/VERSI 86d0: 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c ON.h".writeln "\ 86e0: 74 5c 24 28 4d 41 4b 45 48 45 41 44 45 52 53 29 t\$(MAKEHEADERS)
86f0: 20 24 6d 68 61 72 67 73 22 0a 77 72 69 74 65 6c   $mhargs".writel 8700: 6e 20 22 5c 74 65 63 68 6f 20 44 6f 6e 65 20 3e n "\techo Done > 8710: 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 \$(OBJDIR)/heade
8720: 72 73 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c  rs\n".writeln "\
8730: 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72  $(OBJDIR)/header 8740: 73 3a 20 4d 61 6b 65 66 69 6c 65 5c 6e 22 0a 77 s: Makefile\n".w 8750: 72 69 74 65 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 riteln "Makefile 8760: 3a 5c 6e 22 0a 73 65 74 20 65 78 74 72 61 5f 68 :\n".set extra_h 8770: 28 6d 61 69 6e 29 20 22 20 5c 24 28 4f 42 4a 44 (main) " \$(OBJD
8780: 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68  IR)/page_index.h
8790: 20 22 0a 73 65 74 20 65 78 74 72 61 5f 68 28 62   ".set extra_h(b
87a0: 75 69 6c 74 69 6e 29 20 22 20 5c 24 28 4f 42 4a  uiltin) " \$(OBJ 87b0: 44 49 52 29 2f 62 75 69 6c 74 69 6e 5f 64 61 74 DIR)/builtin_dat 87c0: 61 2e 68 20 22 0a 73 65 74 20 65 78 74 72 61 5f a.h ".set extra_ 87d0: 68 28 73 74 79 6c 65 29 20 22 20 5c 24 28 4f 42 h(style) " \$(OB
87e0: 4a 44 49 52 29 2f 64 65 66 61 75 6c 74 5f 63 73  JDIR)/default_cs
87f0: 73 2e 68 20 22 0a 0a 66 6f 72 65 61 63 68 20 73  s.h "..foreach s
8800: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {. 8810: 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 writeln "\$(OB
8820: 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74  JDIR)/${s}_.c:\t 8830: 5c 24 28 53 52 43 44 49 52 29 2f 24 73 2e 63 20 \$(SRCDIR)/$s.c 8840: 5c 24 28 54 52 41 4e 53 4c 41 54 45 29 22 0a 20 \$(TRANSLATE)".
8850: 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54   writeln "\t\$(T 8860: 52 41 4e 53 4c 41 54 45 29 20 5c 24 28 53 52 43 RANSLATE) \$(SRC
8870: 44 49 52 29 2f 24 73 2e 63 20 3e 5c 24 40 5c 6e  DIR)/$s.c >\$@\n
8880: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 28  ".  writeln "\$( 8890: 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 3a 5c 74 5c OBJDIR)/$s.o:\t\
88a0: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e  $(OBJDIR)/${s}_.
88b0: 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e  c \$(OBJDIR)/$s.
88c0: 68 24 65 78 74 72 61 5f 68 28 24 73 29 5c 24 28  h$extra_h($s)\$( 88d0: 53 52 43 44 49 52 29 2f 63 6f 6e 66 69 67 2e 68 SRCDIR)/config.h 88e0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c ". writeln "\t\ 88f0: 24 28 58 54 43 43 29 20 2d 6f 20 5c 24 28 4f 42$(XTCC) -o \$(OB 8900: 4a 44 49 52 29 2f 24 73 2e 6f 20 2d 63 20 5c 24 JDIR)/$s.o -c \$8910: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 (OBJDIR)/${s}_.c
8920: 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c  \n".  writeln "\
8930: 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 2e 68  $(OBJDIR)/${s}.h
8940: 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65  :\t\$(OBJDIR)/he 8950: 61 64 65 72 73 5c 6e 22 0a 7d 0a 0a 77 72 69 74 aders\n".}..writ 8960: 65 6c 6e 20 7b 4d 49 4e 47 57 5f 4f 50 54 49 4f eln {MINGW_OPTIO 8970: 4e 53 20 3d 20 2d 44 5f 48 41 56 45 5f 5f 4d 49 NS = -D_HAVE__MI 8980: 4e 47 57 5f 48 0a 7d 0a 0a 73 65 74 20 53 51 4c NGW_H.}..set SQL 8990: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e ITE_WIN32_OPTION 89a0: 53 20 24 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e S$SQLITE_OPTION
89b0: 53 0a 6c 61 70 70 65 6e 64 20 53 51 4c 49 54 45  S.lappend SQLITE
89c0: 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 2d  _WIN32_OPTIONS -
89d0: 44 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4e 4f  DSQLITE_WIN32_NO
89e0: 5f 41 4e 53 49 0a 0a 73 65 74 20 4d 49 4e 47 57  _ANSI..set MINGW
89f0: 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 20  _SQLITE_OPTIONS
8a00: 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4f 50  $SQLITE_WIN32_OP 8a10: 54 49 4f 4e 53 0a 6c 61 70 70 65 6e 64 20 4d 49 TIONS.lappend MI 8a20: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f NGW_SQLITE_OPTIO 8a30: 4e 53 20 7b 24 28 4d 49 4e 47 57 5f 4f 50 54 49 NS {$(MINGW_OPTI
8a40: 4f 4e 53 29 7d 0a 6c 61 70 70 65 6e 64 20 4d 49  ONS)}.lappend MI
8a50: 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f  NGW_SQLITE_OPTIO
8a60: 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55 53 45 5f  NS -DSQLITE_USE_
8a70: 4d 41 4c 4c 4f 43 5f 48 0a 6c 61 70 70 65 6e 64  MALLOC_H.lappend
8a80: 20 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f 50   MINGW_SQLITE_OP
8a90: 54 49 4f 4e 53 20 2d 44 53 51 4c 49 54 45 5f 55  TIONS -DSQLITE_U
8aa0: 53 45 5f 4d 53 49 5a 45 0a 0a 73 65 74 20 4d 49  SE_MSIZE..set MI
8ab0: 4e 49 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e  NIZ_WIN32_OPTION
8ac0: 53 20 24 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53  S $MINIZ_OPTIONS 8ad0: 0a 0a 73 65 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 ..set j " \\\n 8ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 " 8af0: 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 .writeln "SQLITE 8b00: 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f 69 6e _OPTIONS = [join 8b10: 20 24 4d 49 4e 47 57 5f 53 51 4c 49 54 45 5f 4f$MINGW_SQLITE_O
8b20: 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 73 65  PTIONS $j]\n".se 8b30: 74 20 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 t j " \\\n 8b40: 20 20 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 ".writ 8b50: 65 6c 6e 20 22 53 48 45 4c 4c 5f 4f 50 54 49 4f eln "SHELL_OPTIO 8b60: 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c NS = [join$SHEL
8b70: 4c 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20  L_WIN32_OPTIONS
8b80: 24 6a 5d 5c 6e 22 0a 73 65 74 20 6a 20 22 20 5c  $j]\n".set j " \ 8b90: 5c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 \\n 8ba0: 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 4d 49 ".writeln "MI 8bb0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a NIZ_OPTIONS = [j 8bc0: 6f 69 6e 20 24 4d 49 4e 49 5a 5f 57 49 4e 33 32 oin$MINIZ_WIN32
8bd0: 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a  _OPTIONS $j]\n". 8be0: 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a .writeln "\$(OBJ
8bf0: 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 3a 5c  DIR)/sqlite3.o:\
8c00: 74 5c 24 28 53 51 4c 49 54 45 33 5f 53 52 43 29  t\$(SQLITE3_SRC) 8c10: 20 5c 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 \$(SRCDIR)/../w
8c20: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e 67  in/Makefile.ming
8c30: 77 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  w".writeln "\t\$8c40: 28 58 54 43 43 29 20 5c 24 28 53 51 4c 49 54 45 (XTCC) \$(SQLITE
8c50: 5f 4f 50 54 49 4f 4e 53 29 20 5c 24 28 53 51 4c  _OPTIONS) \$(SQL 8c60: 49 54 45 5f 43 46 4c 41 47 53 29 20 5c 24 28 53 ITE_CFLAGS) \$(S
8c70: 45 45 5f 46 4c 41 47 53 29 20 5c 5c 22 0a 77 72  EE_FLAGS) \\".wr
8c80: 69 74 65 6c 6e 20 22 5c 74 5c 74 2d 63 20 5c 24  iteln "\t\t-c \$8c90: 28 53 51 4c 49 54 45 33 5f 53 52 43 29 20 2d 6f (SQLITE3_SRC) -o 8ca0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
8cb0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 63 73 6f   "\$(OBJDIR)/cso 8cc0: 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e 6f n_amalgamation.o 8cd0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 63 73 :\t\$(SRCDIR)/cs
8ce0: 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 2e  on_amalgamation.
8cf0: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24  c".writeln "\t\$8d00: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43 (XTCC) -c \$(SRC
8d10: 44 49 52 29 2f 63 73 6f 6e 5f 61 6d 61 6c 67 61  DIR)/cson_amalga
8d20: 6d 61 74 69 6f 6e 2e 63 20 2d 6f 20 5c 24 40 5c  mation.c -o \$@\ 8d30: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f n".writeln "\$(O
8d40: 42 4a 44 49 52 29 2f 6a 73 6f 6e 2e 6f 20 5c 24  BJDIR)/json.o \$8d50: 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f 61 72 (OBJDIR)/json_ar 8d60: 74 69 66 61 63 74 2e 6f 20 5c 24 28 4f 42 4a 44 tifact.o \$(OBJD
8d70: 49 52 29 2f 6a 73 6f 6e 5f 62 72 61 6e 63 68 2e  IR)/json_branch.
8d80: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 8d90: 6e 5f 63 6f 6e 66 69 67 2e 6f 20 5c 24 28 4f 42 n_config.o \$(OB
8da0: 4a 44 49 52 29 2f 6a 73 6f 6e 5f 64 69 66 66 2e  JDIR)/json_diff.
8db0: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 8dc0: 6e 5f 64 69 72 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_dir.o \$(OBJDI
8dd0: 52 29 2f 6a 73 6f 73 5f 66 69 6e 66 6f 2e 6f 20  R)/jsos_finfo.o
8de0: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_ 8df0: 6c 6f 67 69 6e 2e 6f 20 5c 24 28 4f 42 4a 44 49 login.o \$(OBJDI
8e00: 52 29 2f 6a 73 6f 6e 5f 71 75 65 72 79 2e 6f 20  R)/json_query.o
8e10: 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f 6e 5f  \$(OBJDIR)/json_ 8e20: 72 65 70 6f 72 74 2e 6f 20 5c 24 28 4f 42 4a 44 report.o \$(OBJD
8e30: 49 52 29 2f 6a 73 6f 6e 5f 73 74 61 74 75 73 2e  IR)/json_status.
8e40: 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73 6f  o \$(OBJDIR)/jso 8e50: 6e 5f 74 61 67 2e 6f 20 5c 24 28 4f 42 4a 44 49 n_tag.o \$(OBJDI
8e60: 52 29 2f 6a 73 6f 6e 5f 74 69 6d 65 6c 69 6e 65  R)/json_timeline
8e70: 2e 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 6a 73  .o \$(OBJDIR)/js 8e80: 6f 6e 5f 75 73 65 72 2e 6f 20 5c 24 28 4f 42 4a on_user.o \$(OBJ
8e90: 44 49 52 29 2f 6a 73 6f 6e 5f 77 69 6b 69 2e 6f  DIR)/json_wiki.o
8ea0: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 2f 6a 73   : \$(SRCDIR)/js 8eb0: 6f 6e 5f 64 65 74 61 69 6c 2e 68 5c 6e 22 0a 0a on_detail.h\n".. 8ec0: 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 writeln "\$(OBJD
8ed0: 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24  IR)/shell.o:\t\$8ee0: 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 (SQLITE3_SHELL_S 8ef0: 52 43 29 20 5c 24 28 53 52 43 44 49 52 29 2f 73 RC) \$(SRCDIR)/s
8f00: 71 6c 69 74 65 33 2e 68 20 5c 24 28 53 52 43 44  qlite3.h \$(SRCD 8f10: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 IR)/../win/Makef 8f20: 69 6c 65 2e 6d 69 6e 67 77 22 0a 77 72 69 74 65 ile.mingw".write 8f30: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c ln "\t\$(XTCC) \
8f40: 24 28 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29  $(SHELL_OPTIONS) 8f50: 20 5c 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 \$(SHELL_CFLAGS
8f60: 29 20 5c 24 28 53 45 45 5f 46 4c 41 47 53 29 20  ) \$(SEE_FLAGS) 8f70: 2d 63 20 5c 24 28 53 51 4c 49 54 45 33 5f 53 48 -c \$(SQLITE3_SH
8f80: 45 4c 4c 5f 53 52 43 29 20 2d 6f 20 5c 24 40 5c  ELL_SRC) -o \$@\ 8f90: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 n"..writeln "\$(
8fa0: 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 3a 5c 74 5c  OBJDIR)/th.o:\t\
8fb0: 24 28 53 52 43 44 49 52 29 2f 74 68 2e 63 22 0a  $(SRCDIR)/th.c". 8fc0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 writeln "\t\$(XT
8fd0: 43 43 29 20 2d 63 20 5c 24 28 53 52 43 44 49 52  CC) -c \$(SRCDIR 8fe0: 29 2f 74 68 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 )/th.c -o \$@\n"
8ff0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  ..writeln "\$(OB 9000: 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a JDIR)/th_lang.o: 9010: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f \t\$(SRCDIR)/th_
9020: 6c 61 6e 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20  lang.c".writeln
9030: 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 63 20 5c  "\t\$(XTCC) -c \ 9040: 24 28 53 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e$(SRCDIR)/th_lan
9050: 67 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 0a 0a 77  g.c -o \$@\n"..w 9060: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 riteln "\$(OBJDI
9070: 52 29 2f 74 68 5f 74 63 6c 2e 6f 3a 5c 74 5c 24  R)/th_tcl.o:\t\$9080: 28 53 52 43 44 49 52 29 2f 74 68 5f 74 63 6c 2e (SRCDIR)/th_tcl. 9090: 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 c".writeln "\t\$
90a0: 28 58 54 43 43 29 20 2d 63 20 5c 24 28 53 52 43  (XTCC) -c \$(SRC 90b0: 44 49 52 29 2f 74 68 5f 74 63 6c 2e 63 20 2d 6f DIR)/th_tcl.c -o 90c0: 20 5c 24 40 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e \$@\n"..writeln
90d0: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 69 6e   "\$(OBJDIR)/min 90e0: 69 7a 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 iz.o:\t\$(SRCDIR
90f0: 29 2f 6d 69 6e 69 7a 2e 63 22 0a 77 72 69 74 65  )/miniz.c".write
9100: 6c 6e 20 22 5c 74 5c 24 28 58 54 43 43 29 20 5c  ln "\t\$(XTCC) \ 9110: 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 29$(MINIZ_OPTIONS)
9120: 20 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 6d   -c \$(SRCDIR)/m 9130: 69 6e 69 7a 2e 63 20 2d 6f 20 5c 24 40 5c 6e 22 iniz.c -o \$@\n"
9140: 0a 0a 63 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f  ..close $output_ 9150: 66 69 6c 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 file.#.# End of 9160: 74 68 65 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 the win/Makefile 9170: 2e 6d 69 6e 67 77 20 6f 75 74 70 75 74 0a 23 23 .mingw output.## 9180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 91a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 91b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 91c0: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 ############.### 91d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 91e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 91f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9210: 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 ###########.#### 9220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ 9260: 23 23 23 23 23 23 23 23 23 23 0a 23 20 42 65 67 ##########.# Beg 9270: 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e in win/Makefile. 9280: 64 6d 63 20 6f 75 74 70 75 74 0a 23 0a 70 75 74 dmc output.#.put 9290: 73 20 22 62 75 69 6c 64 69 6e 67 20 2e 2e 2f 77 s "building ../w 92a0: 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 22 in/Makefile.dmc" 92b0: 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 .set output_file 92c0: 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 [open ../win/Ma 92d0: 6b 65 66 69 6c 65 2e 64 6d 63 20 77 5d 0a 66 63 kefile.dmc w].fc 92e0: 6f 6e 66 69 67 75 72 65 20 24 6f 75 74 70 75 74 onfigure$output
92f0: 5f 66 69 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69  _file -translati
9300: 6f 6e 20 62 69 6e 61 72 79 0a 0a 77 72 69 74 65  on binary..write
9310: 6c 6e 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23  ln {#.##########
9320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9340: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9360: 23 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20  ####.# WARNING:
9370: 44 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54  DO NOT EDIT, AUT
9380: 4f 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52  OMATICALLY GENER
9390: 41 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22  ATED FILE (SEE "
93a0: 73 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c  src/makemake.tcl
93b0: 22 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ").#############
93c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
93f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
9400: 23 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20  #.#.# This file
9410: 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  is automatically
9420: 20 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73   generated.  Ins
9430: 74 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20  tead of editing
9440: 74 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69  this.# file, edi
9450: 74 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  t "makemake.tcl"
9460: 20 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68   then run "tclsh
9470: 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23   makemake.tcl".#
9480: 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74   to regenerate t
9490: 68 69 73 20 66 69 6c 65 2e 0a 23 0a 42 20 20 20  his file..#.B
94a0: 20 20 20 3d 20 2e 2e 0a 53 52 43 44 49 52 20 3d     = ...SRCDIR =
94b0: 20 24 42 5c 73 72 63 0a 4f 42 4a 44 49 52 20 3d   $B\src.OBJDIR = 94c0: 20 2e 0a 4f 20 20 20 20 20 20 3d 20 2e 6f 62 6a ..O = .obj 94d0: 0a 45 20 20 20 20 20 20 3d 20 2e 65 78 65 0a 0a .E = .exe.. 94e0: 0a 23 20 4d 61 79 62 65 20 44 4d 44 49 52 2c 20 .# Maybe DMDIR, 94f0: 53 53 4c 20 6f 72 20 49 4e 43 4c 20 6e 65 65 64 SSL or INCL need 9500: 73 20 61 64 6a 75 73 74 6d 65 6e 74 0a 44 4d 44 s adjustment.DMD 9510: 49 52 20 20 3d 20 63 3a 5c 44 4d 0a 49 4e 43 4c IR = c:\DM.INCL 9520: 20 20 20 3d 20 2d 49 2e 20 2d 49 24 28 53 52 43 = -I. -I$(SRC
9530: 44 49 52 29 20 2d 49 24 42 5c 77 69 6e 5c 69 6e  DIR) -I$B\win\in 9540: 63 6c 75 64 65 20 2d 49 24 28 44 4d 44 49 52 29 clude -I$(DMDIR)
9550: 5c 65 78 74 72 61 5c 69 6e 63 6c 75 64 65 0a 0a  \extra\include..
9560: 23 53 53 4c 20 20 20 3d 20 20 2d 44 46 4f 53 53  #SSL   =  -DFOSS
9570: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a  IL_ENABLE_SSL=1.
9580: 53 53 4c 20 20 20 20 3d 0a 0a 43 46 4c 41 47 53  SSL    =..CFLAGS
9590: 20 3d 20 2d 6f 0a 42 43 43 20 20 20 20 3d 20 24   = -o.BCC    = $95a0: 28 44 4d 44 49 52 29 5c 62 69 6e 5c 64 6d 63 20 (DMDIR)\bin\dmc 95b0: 24 28 43 46 4c 41 47 53 29 0a 54 43 43 20 20 20$(CFLAGS).TCC
95c0: 20 3d 20 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c   = $(DMDIR)\bin\ 95d0: 64 6d 63 20 24 28 43 46 4c 41 47 53 29 20 24 28 dmc$(CFLAGS) $( 95e0: 44 4d 43 44 45 46 29 20 24 28 53 53 4c 29 20 24 DMCDEF)$(SSL) $95f0: 28 49 4e 43 4c 29 0a 4c 49 42 53 20 20 20 3d 20 (INCL).LIBS = 9600: 24 28 44 4d 44 49 52 29 5c 65 78 74 72 61 5c 6c$(DMDIR)\extra\l
9610: 69 62 5c 20 7a 6c 69 62 20 77 73 6f 63 6b 33 32  ib\ zlib wsock32
9620: 20 61 64 76 61 70 69 33 32 0a 7d 0a 77 72 69 74   advapi32.}.writ
9630: 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f 50 54 49  eln "SQLITE_OPTI
9640: 4f 4e 53 20 3d 20 5b 6a 6f 69 6e 20 24 53 51 4c  ONS = [join $SQL 9650: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d ITE_OPTIONS { }] 9660: 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 22 53 48 45 \n".writeln "SHE 9670: 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a 6f LL_OPTIONS = [jo 9680: 69 6e 20 24 53 48 45 4c 4c 5f 57 49 4e 33 32 5f in$SHELL_WIN32_
9690: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 5c 6e 22 0a  OPTIONS { }]\n".
96a0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
96b0: 6e 65 20 22 53 52 43 20 20 20 3d 22 0a 66 6f 72  ne "SRC   =".for
96c0: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s 96d0: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 rc] {. writeln 96e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 24 7b 73 -nonewline "${s
96f0: 7d 5f 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  }_.c".}.writeln
9700: 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f  "\n".writeln -no
9710: 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d  newline "OBJ   =
9720: 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73   ".foreach s [ls
9730: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72  ort $src] {. wr 9740: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 iteln -nonewline 9750: 20 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73 "\$(OBJDIR)\\$s 9760: 5c 24 4f 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 \$O ".}.writeln
9770: 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 73 68 65  "\$(OBJDIR)\\she 9780: 6c 6c 5c 24 4f 20 5c 24 28 4f 42 4a 44 49 52 29 ll\$O \$(OBJDIR) 9790: 5c 5c 73 71 6c 69 74 65 33 5c 24 4f 20 5c 24 28 \\sqlite3\$O \$( 97a0: 4f 42 4a 44 49 52 29 5c 5c 74 68 5c 24 4f 20 5c OBJDIR)\\th\$O \
97b0: 24 28 4f 42 4a 44 49 52 29 5c 5c 74 68 5f 6c 61  $(OBJDIR)\\th_la 97c0: 6e 67 5c 24 4f 22 0a 77 72 69 74 65 6c 6e 20 7b ng\$O".writeln {
97d0: 0a 0a 52 43 3d 24 28 44 4d 44 49 52 29 5c 62 69  ..RC=$(DMDIR)\bi 97e0: 6e 5c 72 63 63 0a 52 43 46 4c 41 47 53 3d 2d 33 n\rcc.RCFLAGS=-3 97f0: 32 20 2d 77 31 20 2d 49 24 28 53 52 43 44 49 52 2 -w1 -I$(SRCDIR
9800: 29 20 2f 44 5f 5f 44 4d 43 5f 5f 0a 0a 41 50 50  ) /D__DMC__..APP
9810: 4e 41 4d 45 20 3d 20 24 28 4f 42 4a 44 49 52 29  NAME = $(OBJDIR) 9820: 5c 66 6f 73 73 69 6c 24 28 45 29 0a 0a 61 6c 6c \fossil$(E)..all
9830: 3a 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28  : $(APPNAME)..$(
9840: 41 50 50 4e 41 4d 45 29 20 3a 20 74 72 61 6e 73  APPNAME) : trans
9850: 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65 78 24 45  late$E mkindex$E
9860: 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 68 65   codecheck1$E he 9870: 61 64 65 72 73 20 20 24 28 4f 42 4a 29 20 24 28 aders$(OBJ) $( 9880: 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 0a 09 63 64 OBJDIR)\link..cd 9890: 20 24 28 4f 42 4a 44 49 52 29 0a 09 63 6f 64 65$(OBJDIR)..code
98a0: 63 68 65 63 6b 31 24 45 20 24 28 53 52 43 29 0a  check1$E$(SRC).
98b0: 09 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c 6c 69  .$(DMDIR)\bin\li 98c0: 6e 6b 20 40 6c 69 6e 6b 0a 0a 24 28 4f 42 4a 44 nk @link..$(OBJD
98d0: 49 52 29 5c 66 6f 73 73 69 6c 2e 72 65 73 3a 09  IR)\fossil.res:.
98e0: 24 42 5c 77 69 6e 5c 66 6f 73 73 69 6c 2e 72 63  $B\win\fossil.rc 98f0: 0a 09 24 28 52 43 29 20 24 28 52 43 46 4c 41 47 ..$(RC) $(RCFLAG 9900: 53 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 24 28 4f S) -o$@ $**..$(O
9910: 42 4a 44 49 52 29 5c 6c 69 6e 6b 3a 20 24 42 5c  BJDIR)\link: $B\ 9920: 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 win\Makefile.dmc 9930: 20 24 28 4f 42 4a 44 49 52 29 5c 66 6f 73 73 69$(OBJDIR)\fossi
9940: 6c 2e 72 65 73 7d 0a 77 72 69 74 65 6c 6e 20 2d  l.res}.writeln -
9950: 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 74 2b 65 63  nonewline "\t+ec
9960: 68 6f 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b  ho ".foreach s [
9970: 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20  lsort $src] {. 9980: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli 9990: 6e 65 20 22 24 73 20 22 0a 7d 0a 77 72 69 74 65 ne "$s ".}.write
99a0: 6c 6e 20 22 73 68 65 6c 6c 20 73 71 6c 69 74 65  ln "shell sqlite
99b0: 33 20 74 68 20 74 68 5f 6c 61 6e 67 20 3e 20 5c  3 th th_lang > \
99c0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b  $@".writeln "\t+ 99d0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c echo fossil >> \ 99e0: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b$@".writeln "\t+
99f0: 65 63 68 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c  echo fossil >> \
9a00: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b  $@".writeln "\t+ 9a10: 65 63 68 6f 20 5c 24 28 4c 49 42 53 29 20 3e 3e echo \$(LIBS) >>
9a20: 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c   \$@".writeln "\ 9a30: 74 2b 65 63 68 6f 2e 20 3e 3e 20 5c 24 40 22 0a t+echo. >> \$@".
9a40: 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f  writeln "\t+echo
9a50: 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a   fossil >> \$@". 9a60: 0a 77 72 69 74 65 6c 6e 20 7b 0a 74 72 61 6e 73 .writeln {.trans 9a70: 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44 49 52 late$E: $(SRCDIR 9a80: 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24 )\translate.c..$
9a90: 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a  (BCC) -o$@$**..
9aa0: 6d 61 6b 65 68 65 61 64 65 72 73 24 45 3a 20 24  makeheaders$E:$
9ab0: 28 53 52 43 44 49 52 29 5c 6d 61 6b 65 68 65 61  (SRCDIR)\makehea
9ac0: 64 65 72 73 2e 63 0a 09 24 28 42 43 43 29 20 2d  ders.c..$(BCC) - 9ad0: 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 69 6e 64 65 78 o$@ $**..mkindex 9ae0: 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 6d 6b$E: $(SRCDIR)\mk 9af0: 69 6e 64 65 78 2e 63 0a 09 24 28 42 43 43 29 20 index.c..$(BCC)
9b00: 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 6b 62 75 69 6c  -o$@$**..mkbuil
9b10: 74 69 6e 24 45 3a 20 24 28 53 52 43 44 49 52 29  tin$E:$(SRCDIR)
9b20: 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a 09 24 28  \mkbuiltin.c..$( 9b30: 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d BCC) -o$@ $**..m 9b40: 6b 76 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52 kversion$E: $(SR 9b50: 43 44 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e CDIR)\mkversion. 9b60: 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20 24 c..$(BCC) -o$@$
9b70: 2a 2a 0a 0a 6d 6b 63 73 73 24 45 3a 20 24 28 53  **..mkcss$E:$(S
9b80: 52 43 44 49 52 29 5c 6d 6b 63 73 73 2e 63 0a 09  RCDIR)\mkcss.c..
9b90: 24 28 42 43 43 29 20 2d 6f 24 40 20 24 2a 2a 0a  $(BCC) -o$@ $**. 9ba0: 0a 63 6f 64 65 63 68 65 63 6b 31 24 45 3a 20 24 .codecheck1$E: $9bb0: 28 53 52 43 44 49 52 29 5c 63 6f 64 65 63 68 65 (SRCDIR)\codeche 9bc0: 63 6b 31 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f ck1.c..$(BCC) -o
9bd0: 24 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52  $@$**..$(OBJDIR 9be0: 29 5c 73 68 65 6c 6c 24 4f 20 3a 20 24 28 53 52 )\shell$O : $(SR 9bf0: 43 44 49 52 29 5c 73 68 65 6c 6c 2e 63 0a 09 24 CDIR)\shell.c..$
9c00: 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20 24 28  (TCC) -o$@ -c$(
9c10: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 29 20 24  SHELL_OPTIONS) $9c20: 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 (SQLITE_OPTIONS) 9c30: 20 24 28 53 48 45 4c 4c 5f 43 46 4c 41 47 53 29$(SHELL_CFLAGS)
9c40: 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29 5c   $**..$(OBJDIR)\
9c50: 73 71 6c 69 74 65 33 24 4f 20 3a 20 24 28 53 52  sqlite3$O :$(SR
9c60: 43 44 49 52 29 5c 73 71 6c 69 74 65 33 2e 63 0a  CDIR)\sqlite3.c.
9c70: 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63 20  .$(TCC) -o$@ -c
9c80: 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53  $(SQLITE_OPTIONS 9c90: 29 20 24 28 53 51 4c 49 54 45 5f 43 46 4c 41 47 )$(SQLITE_CFLAG
9ca0: 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52  S) $**..$(OBJDIR
9cb0: 29 5c 74 68 24 4f 20 3a 20 24 28 53 52 43 44 49  )\th$O :$(SRCDI
9cc0: 52 29 5c 74 68 2e 63 0a 09 24 28 54 43 43 29 20  R)\th.c..$(TCC) 9cd0: 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f -o$@ -c $**..$(O
9ce0: 42 4a 44 49 52 29 5c 74 68 5f 6c 61 6e 67 24 4f  BJDIR)\th_lang$O 9cf0: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 5f :$(SRCDIR)\th_
9d00: 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43 29 20 2d  lang.c..$(TCC) - 9d10: 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 42 o$@ -c $**..$(OB
9d20: 4a 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67  JDIR)\cson_amalg
9d30: 61 6d 61 74 69 6f 6e 2e 68 20 3a 20 24 28 53 52  amation.h : $(SR 9d40: 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c 67 CDIR)\cson_amalg 9d50: 61 6d 61 74 69 6f 6e 2e 68 0a 09 63 70 20 24 40 amation.h..cp$@
9d60: 20 24 40 0a 0a 56 45 52 53 49 4f 4e 2e 68 20 3a   $@..VERSION.h : 9d70: 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42 5c mkversion$E $B\ 9d80: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24 42 manifest.uuid$B
9d90: 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45 52  \manifest $B\VER 9da0: 53 49 4f 4e 0a 09 2b 24 2a 2a 20 3e 20 24 40 0a SION..+$** > $@. 9db0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 3a .default_css.h : 9dc0: 20 6d 6b 63 73 73 24 45 20 24 42 5c 73 72 63 5c mkcss$E $B\src\ 9dd0: 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78 74 0a default_css.txt. 9de0: 09 2b 24 2a 2a 20 24 42 5c 73 72 63 5c 64 65 66 .+$** $B\src\def 9df0: 61 75 6c 74 5f 63 73 73 2e 74 78 74 20 24 40 0a ault_css.txt$@.
9e00: 0a 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a 20 6d  .page_index.h: m
9e10: 6b 69 6e 64 65 78 24 45 20 24 28 53 52 43 29 0a  kindex$E$(SRC).
9e20: 09 2b 24 2a 2a 20 3e 20 24 40 0a 0a 62 75 69 6c  .+$** >$@..buil
9e30: 74 69 6e 5f 64 61 74 61 2e 68 3a 09 6d 6b 62 75  tin_data.h:.mkbu
9e40: 69 6c 74 69 6e 24 45 20 24 28 45 58 54 52 41 5f  iltin$E$(EXTRA_
9e50: 46 49 4c 45 53 29 0a 09 6d 6b 62 75 69 6c 74 69  FILES)..mkbuilti
9e60: 6e 24 45 20 2d 2d 70 72 65 66 69 78 20 24 28 53  n$E --prefix$(S
9e70: 52 43 44 49 52 29 2f 20 24 28 45 58 54 52 41 5f  RCDIR)/ $(EXTRA_ 9e80: 46 49 4c 45 53 29 20 3e 20 24 40 0a 0a 63 6c 65 FILES) >$@..cle
9e90: 61 6e 3a 0a 09 2d 64 65 6c 20 24 28 4f 42 4a 44  an:..-del $(OBJD 9ea0: 49 52 29 5c 2a 2e 6f 62 6a 0a 09 2d 64 65 6c 20 IR)\*.obj..-del 9eb0: 2a 2e 6f 62 6a 20 2a 5f 2e 63 20 2a 2e 68 20 2a *.obj *_.c *.h * 9ec0: 2e 6d 61 70 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a .map..realclean: 9ed0: 0a 09 2d 64 65 6c 20 24 28 41 50 50 4e 41 4d 45 ..-del$(APPNAME
9ee0: 29 20 74 72 61 6e 73 6c 61 74 65 24 45 20 6d 6b  ) translate$E mk 9ef0: 69 6e 64 65 78 24 45 20 6d 61 6b 65 68 65 61 64 index$E makehead
9f00: 65 72 73 24 45 20 6d 6b 76 65 72 73 69 6f 6e 24  ers$E mkversion$
9f10: 45 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 6d  E codecheck1$E m 9f20: 6b 62 75 69 6c 74 69 6e 24 45 20 6d 6b 63 73 73 kbuiltin$E mkcss
9f30: 24 45 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73  $E..$(OBJDIR)\js
9f40: 6f 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  on$O :$(SRCDIR)
9f50: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$9f60: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 61 72 (OBJDIR)\json_ar 9f70: 74 69 66 61 63 74 24 4f 20 3a 20 24 28 53 52 43 tifact$O : $(SRC 9f80: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c DIR)\json_detail 9f90: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f .h.$(OBJDIR)\jso
9fa0: 6e 5f 62 72 61 6e 63 68 24 4f 20 3a 20 24 28 53  n_branch$O :$(S
9fb0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
9fc0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j 9fd0: 73 6f 6e 5f 63 6f 6e 66 69 67 24 4f 20 3a 20 24 son_config$O : $9fe0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 (SRCDIR)\json_de 9ff0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 tail.h.$(OBJDIR)
a000: 5c 6a 73 6f 6e 5f 64 69 66 66 24 4f 20 3a 20 24  \json_diff$O :$
a010: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
a020: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR) a030: 5c 6a 73 6f 6e 5f 64 69 72 24 4f 20 3a 20 24 28 \json_dir$O : $( a040: 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 SRCDIR)\json_det a050: 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c ail.h.$(OBJDIR)\
a060: 6a 73 6f 6e 5f 66 69 6e 66 6f 24 4f 20 3a 20 24  json_finfo$O :$
a070: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
a080: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR) a090: 5c 6a 73 6f 6e 5f 6c 6f 67 69 6e 24 4f 20 3a 20 \json_login$O :
a0a0: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d a0b0: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 etail.h.$(OBJDIR
a0c0: 29 5c 6a 73 6f 6e 5f 71 75 65 72 79 24 4f 20 3a  )\json_query$O : a0d0: 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f$(SRCDIR)\json_
a0e0: 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49  detail.h.$(OBJDI a0f0: 52 29 5c 6a 73 6f 6e 5f 72 65 70 6f 72 74 24 4f R)\json_report$O
a100: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso a110: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a n_detail.h.$(OBJ
a120: 44 49 52 29 5c 6a 73 6f 6e 5f 73 74 61 74 75 73  DIR)\json_status
a130: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O :$(SRCDIR)\j
a140: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O a150: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 61 67 24 BJDIR)\json_tag$
a160: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73  O : $(SRCDIR)\js a170: 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 on_detail.h.$(OB
a180: 4a 44 49 52 29 5c 6a 73 6f 6e 5f 74 69 6d 65 6c  JDIR)\json_timel
a190: 69 6e 65 24 4f 20 3a 20 24 28 53 52 43 44 49 52  ine$O :$(SRCDIR
a1a0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a1b0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 75  $(OBJDIR)\json_u a1c0: 73 65 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52 ser$O : $(SRCDIR a1d0: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h. a1e0: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 77$(OBJDIR)\json_w
a1f0: 69 6b 69 24 4f 20 3a 20 24 28 53 52 43 44 49 52  iki$O :$(SRCDIR
a200: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a  )\json_detail.h.
a210: 0a 0a 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c  ..}.foreach s [l
a220: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {. w a230: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 riteln "\$(OBJDI
a240: 52 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b 73 7d  R)\\$s\$O : ${s} a250: 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20 77 72 _.c${s}.h".  wr
a260: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43 43 29  iteln "\t\$(TCC) a270: 20 2d 6f 5c 24 40 20 2d 63 20 24 7b 73 7d 5f 2e -o\$@ -c ${s}_. a280: 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 c\n". writeln " a290: 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28 53 52 43${s}_.c : \$(SRC a2a0: 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20 20 77 72 DIR)\\$s.c".  wr
a2b0: 69 74 65 6c 6e 20 22 5c 74 2b 74 72 61 6e 73 6c  iteln "\t+transl
a2c0: 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20 5c 24  ate\$E \$** > \$a2d0: 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 @\n".}..writeln a2e0: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 68 65 61 64 -nonewline "head a2f0: 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72 73 ers: makeheaders a300: 5c 24 45 20 70 61 67 65 5f 69 6e 64 65 78 2e 68 \$E page_index.h
a310: 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20   builtin_data.h
a320: 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20 56 45  default_css.h VE
a330: 52 53 49 4f 4e 2e 68 5c 6e 5c 74 20 2b 6d 61 6b  RSION.h\n\t +mak
a340: 65 68 65 61 64 65 72 73 5c 24 45 20 22 0a 66 6f  eheaders\$E ".fo a350: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 reach s [lsort$
a360: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
a370: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b 73   -nonewline "${s a380: 7d 5f 2e 63 3a 24 73 2e 68 20 22 0a 7d 0a 77 72 }_.c:$s.h ".}.wr
a390: 69 74 65 6c 6e 20 22 5c 24 28 53 52 43 44 49 52  iteln "\$(SRCDIR a3a0: 29 5c 5c 73 71 6c 69 74 65 33 2e 68 20 5c 24 28 )\\sqlite3.h \$(
a3b0: 53 52 43 44 49 52 29 5c 5c 74 68 2e 68 20 56 45  SRCDIR)\\th.h VE
a3c0: 52 53 49 4f 4e 2e 68 20 5c 24 28 53 52 43 44 49  RSION.h \$(SRCDI a3d0: 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67 61 6d R)\\cson_amalgam a3e0: 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65 6c 6e ation.h".writeln a3f0: 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e 75 6c "\t@copy /Y nul a400: 3a 20 68 65 61 64 65 72 73 22 0a 0a 63 6c 6f 73 : headers"..clos a410: 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23 e$output_file.#
a420: 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20 77 69  .# End of the wi
a430: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 6f  n/Makefile.dmc o
a440: 75 74 70 75 74 0a 23 23 23 23 23 23 23 23 23 23  utput.##########
a450: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a490: 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23  ####.###########
a4a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a4e0: 23 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23  ###.############
a4f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a500: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
a530: 23 23 0a 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d  ##.# Begin win/M
a540: 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f 75 74 70  akefile.msc outp
a550: 75 74 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64  ut.#.puts "build
a560: 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  ing ../win/Makef
a570: 69 6c 65 2e 6d 73 63 22 0a 73 65 74 20 6f 75 74  ile.msc".set out
a580: 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20 2e  put_file [open .
a590: 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d  ./win/Makefile.m
a5a0: 73 63 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65  sc w].fconfigure
a5b0: 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74   $output_file -t a5c0: 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 ranslation binar a5d0: 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 0a 23 23 y..writeln {#.## a5e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a5f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a620: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 20 57 ############.# W a630: 41 52 4e 49 4e 47 3a 20 44 4f 20 4e 4f 54 20 45 ARNING: DO NOT E a640: 44 49 54 2c 20 41 55 54 4f 4d 41 54 49 43 41 4c DIT, AUTOMATICAL a650: 4c 59 20 47 45 4e 45 52 41 54 45 44 20 46 49 4c LY GENERATED FIL a660: 45 20 28 53 45 45 20 22 73 72 63 2f 6d 61 6b 65 E (SEE "src/make a670: 6d 61 6b 65 2e 74 63 6c 22 29 0a 23 23 23 23 23 make.tcl").##### a680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a6a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a6b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ a6c0: 23 23 23 23 23 23 23 23 23 0a 23 0a 23 20 54 68 #########.#.# Th a6d0: 69 73 20 4d 61 6b 65 66 69 6c 65 20 77 69 6c 6c is Makefile will a6e0: 20 6f 6e 6c 79 20 66 75 6e 63 74 69 6f 6e 20 63 only function c a6f0: 6f 72 72 65 63 74 6c 79 20 69 66 20 75 73 65 64 orrectly if used a700: 20 66 72 6f 6d 20 61 20 73 75 62 2d 64 69 72 65 from a sub-dire a710: 63 74 6f 72 79 0a 23 20 74 68 61 74 20 69 73 20 ctory.# that is a720: 61 20 64 69 72 65 63 74 20 63 68 69 6c 64 20 6f a direct child o a730: 66 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 f the top-level a740: 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 68 directory for th a750: 69 73 20 70 72 6f 6a 65 63 74 2e 0a 23 0a 21 69 is project..#.!i a760: 66 20 21 65 78 69 73 74 28 22 2e 2e 5c 2e 66 6f f !exist("..\.fo a770: 73 73 69 6c 2d 73 65 74 74 69 6e 67 73 22 29 0a ssil-settings"). a780: 21 65 72 72 6f 72 20 22 50 6c 65 61 73 65 20 63 !error "Please c a790: 68 61 6e 67 65 20 74 68 65 20 63 75 72 72 65 6e hange the curren a7a0: 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 t directory to t a7b0: 68 65 20 6f 6e 65 20 63 6f 6e 74 61 69 6e 69 6e he one containin a7c0: 67 20 74 68 69 73 20 66 69 6c 65 2e 22 0a 21 65 g this file.".!e a7d0: 6e 64 69 66 0a 0a 23 0a 23 20 54 68 69 73 20 66 ndif..#.# This f a7e0: 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 ile is automatic a7f0: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e 20 ally generated. a800: 20 49 6e 73 74 65 61 64 20 6f 66 20 65 64 69 74 Instead of edit a810: 69 6e 67 20 74 68 69 73 0a 23 20 66 69 6c 65 2c ing this.# file, a820: 20 65 64 69 74 20 22 6d 61 6b 65 6d 61 6b 65 2e edit "makemake. a830: 74 63 6c 22 20 74 68 65 6e 20 72 75 6e 20 22 74 tcl" then run "t a840: 63 6c 73 68 20 6d 61 6b 65 6d 61 6b 65 2e 74 63 clsh makemake.tc a850: 6c 22 0a 23 20 74 6f 20 72 65 67 65 6e 65 72 61 l".# to regenera a860: 74 65 20 74 68 69 73 20 66 69 6c 65 2e 0a 23 0a te this file..#. a870: 42 20 20 20 20 20 20 20 3d 20 2e 2e 0a 53 52 43 B = ...SRC a880: 44 49 52 20 20 3d 20 24 42 5c 73 72 63 0a 4f 42 DIR =$B\src.OB
a890: 4a 44 49 52 20 20 3d 20 2e 0a 4f 58 20 20 20 20  JDIR  = ..OX
a8a0: 20 20 3d 20 2e 0a 4f 20 20 20 20 20 20 20 3d 20    = ..O       =
a8b0: 2e 6f 62 6a 0a 45 20 20 20 20 20 20 20 3d 20 2e  .obj.E       = .
a8c0: 65 78 65 0a 50 20 20 20 20 20 20 20 3d 20 2e 70  exe.P       = .p
a8d0: 64 62 0a 0a 23 20 50 65 72 6c 20 69 73 20 6f 6e  db..# Perl is on
a8e0: 6c 79 20 6e 65 63 65 73 73 61 72 79 20 69 66 20  ly necessary if
a8f0: 4f 70 65 6e 53 53 4c 20 73 75 70 70 6f 72 74 20  OpenSSL support
a900: 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 69  is enabled and i
a910: 74 20 6d 75 73 74 0a 23 20 62 65 20 62 75 69 6c  t must.# be buil
a920: 74 20 66 72 6f 6d 20 73 6f 75 72 63 65 20 63 6f  t from source co
a930: 64 65 2e 20 20 54 68 65 20 50 45 52 4c 44 49 52  de.  The PERLDIR
a940: 20 76 61 72 69 61 62 6c 65 20 73 68 6f 75 6c 64   variable should
a950: 20 70 6f 69 6e 74 20 74 6f 0a 23 20 74 68 65 20   point to.# the
a960: 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69  directory contai
a970: 6e 69 6e 67 20 74 68 65 20 6d 61 69 6e 20 50 65  ning the main Pe
a980: 72 6c 20 62 69 6e 61 72 79 20 28 69 2e 65 2e 20  rl binary (i.e.
a990: 22 70 65 72 6c 2e 65 78 65 22 29 2e 0a 50 45 52  "perl.exe")..PER
a9a0: 4c 44 49 52 20 3d 20 43 3a 5c 50 65 72 6c 5c 62  LDIR = C:\Perl\b
a9b0: 69 6e 0a 50 45 52 4c 20 20 20 20 3d 20 70 65 72  in.PERL    = per
a9c0: 6c 2e 65 78 65 0a 0a 23 20 45 6e 61 62 6c 65 20  l.exe..# Enable
a9d0: 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c  debugging symbol
a9e0: 73 3f 0a 21 69 66 6e 64 65 66 20 44 45 42 55 47  s?.!ifndef DEBUG
a9f0: 0a 44 45 42 55 47 20 3d 20 30 0a 21 65 6e 64 69  .DEBUG = 0.!endi
aa00: 66 0a 0a 23 20 42 75 69 6c 64 20 74 68 65 20 4f  f..# Build the O
aa10: 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 69 65 73  penSSL libraries
aa20: 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c  ?.!ifndef FOSSIL
aa30: 5f 42 55 49 4c 44 5f 53 53 4c 0a 46 4f 53 53 49  _BUILD_SSL.FOSSI
aa40: 4c 5f 42 55 49 4c 44 5f 53 53 4c 20 3d 20 30 0a  L_BUILD_SSL = 0.
aa50: 21 65 6e 64 69 66 0a 0a 23 20 42 75 69 6c 64 20  !endif..# Build
aa60: 74 68 65 20 69 6e 63 6c 75 64 65 64 20 7a 6c 69  the included zli
aa70: 62 20 6c 69 62 72 61 72 79 3f 0a 21 69 66 6e 64  b library?.!ifnd
aa80: 65 66 20 46 4f 53 53 49 4c 5f 42 55 49 4c 44 5f  ef FOSSIL_BUILD_
aa90: 5a 4c 49 42 0a 46 4f 53 53 49 4c 5f 42 55 49 4c  ZLIB.FOSSIL_BUIL
aaa0: 44 5f 5a 4c 49 42 20 3d 20 31 0a 21 65 6e 64 69  D_ZLIB = 1.!endi
aab0: 66 0a 0a 23 20 4c 69 6e 6b 20 65 76 65 72 79 74  f..# Link everyt
aac0: 68 69 6e 67 20 65 78 63 65 70 74 20 53 51 4c 69  hing except SQLi
aad0: 74 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 3f 0a  te dynamically?.
aae0: 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 44  !ifndef FOSSIL_D
aaf0: 59 4e 41 4d 49 43 5f 42 55 49 4c 44 0a 46 4f 53  YNAMIC_BUILD.FOS
ab00: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
ab10: 44 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20  D = 0.!endif..#
ab20: 45 6e 61 62 6c 65 20 72 65 6c 61 74 69 76 65 20  Enable relative
ab30: 70 61 74 68 73 20 69 6e 20 65 78 74 65 72 6e 61  paths in externa
ab40: 6c 20 64 69 66 66 2f 67 64 69 66 66 3f 0a 21 69  l diff/gdiff?.!i
ab50: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
ab60: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
ab70: 48 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  HS.FOSSIL_ENABLE
ab80: 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 53 20  _EXEC_REL_PATHS
ab90: 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e  = 0.!endif..# En
aba0: 61 62 6c 65 20 74 68 65 20 4a 53 4f 4e 20 41 50  able the JSON AP
abb0: 49 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49  I?.!ifndef FOSSI
abc0: 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 0a 46 4f  L_ENABLE_JSON.FO
abd0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  SSIL_ENABLE_JSON
abe0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
abf0: 6e 61 62 6c 65 20 6c 65 67 61 63 79 20 74 72 65  nable legacy tre
ac00: 61 74 6d 65 6e 74 20 6f 66 20 74 68 65 20 6d 76  atment of the mv
ac10: 2f 72 6d 20 63 6f 6d 6d 61 6e 64 73 3f 0a 21 69  /rm commands?.!i
ac20: 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  fndef FOSSIL_ENA
ac30: 42 4c 45 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d  BLE_LEGACY_MV_RM
ac40: 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c  .FOSSIL_ENABLE_L
ac50: 45 47 41 43 59 5f 4d 56 5f 52 4d 20 3d 20 30 0a  EGACY_MV_RM = 0.
ac60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ac70: 20 75 73 65 20 6f 66 20 6d 69 6e 69 7a 20 69 6e   use of miniz in
ac80: 73 74 65 61 64 20 6f 66 20 7a 6c 69 62 3f 0a 21  stead of zlib?.!
ac90: 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e  ifndef FOSSIL_EN
aca0: 41 42 4c 45 5f 4d 49 4e 49 5a 0a 46 4f 53 53 49  ABLE_MINIZ.FOSSI
acb0: 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 3d  L_ENABLE_MINIZ =
acc0: 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61   0.!endif..# Ena
acd0: 62 6c 65 20 4f 70 65 6e 53 53 4c 20 73 75 70 70  ble OpenSSL supp
ace0: 6f 72 74 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  ort?.!ifndef FOS
acf0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a 46  SIL_ENABLE_SSL.F
ad00: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
ad10: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
ad20: 6e 61 62 6c 65 20 74 68 65 20 54 63 6c 20 69 6e  nable the Tcl in
ad30: 74 65 67 72 61 74 69 6f 6e 20 73 75 62 73 79 73  tegration subsys
ad40: 74 65 6d 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53  tem?.!ifndef FOS
ad50: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 0a 46  SIL_ENABLE_TCL.F
ad60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c  OSSIL_ENABLE_TCL
ad70: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
ad80: 6e 61 62 6c 65 20 54 48 31 20 73 63 72 69 70 74  nable TH1 script
ad90: 73 20 69 6e 20 65 6d 62 65 64 64 65 64 20 64 6f  s in embedded do
ada0: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65  cumentation file
adb0: 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49  s?.!ifndef FOSSI
adc0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43  L_ENABLE_TH1_DOC
add0: 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  S.FOSSIL_ENABLE_
ade0: 54 48 31 5f 44 4f 43 53 20 3d 20 30 0a 21 65 6e  TH1_DOCS = 0.!en
adf0: 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65 20 54 48  dif..# Enable TH
ae00: 31 20 68 6f 6f 6b 73 20 66 6f 72 20 63 6f 6d 6d  1 hooks for comm
ae10: 61 6e 64 73 20 61 6e 64 20 77 65 62 20 70 61 67  ands and web pag
ae20: 65 73 3f 0a 21 69 66 6e 64 65 66 20 46 4f 53 53  es?.!ifndef FOSS
ae30: 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f  IL_ENABLE_TH1_HO
ae40: 4f 4b 53 0a 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  OKS.FOSSIL_ENABL
ae50: 45 5f 54 48 31 5f 48 4f 4f 4b 53 20 3d 20 30 0a  E_TH1_HOOKS = 0.
ae60: 21 65 6e 64 69 66 0a 0a 23 20 45 6e 61 62 6c 65  !endif..# Enable
ae70: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 69 6e   support for Win
ae80: 64 6f 77 73 20 58 50 20 77 69 74 68 20 56 69 73  dows XP with Vis
ae90: 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 78 3f  ual Studio 201x?
aea0: 0a 21 69 66 6e 64 65 66 20 46 4f 53 53 49 4c 5f  .!ifndef FOSSIL_
aeb0: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 0a 46 4f 53  ENABLE_WINXP.FOS
aec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50  SIL_ENABLE_WINXP
aed0: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 23 20 45   = 0.!endif..# E
aee0: 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f  nable support fo
aef0: 72 20 74 68 65 20 53 51 4c 69 74 65 20 45 6e 63  r the SQLite Enc
af00: 72 79 70 74 69 6f 6e 20 45 78 74 65 6e 73 69 6f  ryption Extensio
af10: 6e 3f 0a 21 69 66 6e 64 65 66 20 55 53 45 5f 53  n?.!ifndef USE_S
af20: 45 45 0a 55 53 45 5f 53 45 45 20 3d 20 30 0a 21  EE.USE_SEE = 0.!
af30: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS af40: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 SIL_ENABLE_SSL)! af50: 3d 30 0a 53 53 4c 44 49 52 20 20 20 20 3d 20 24 =0.SSLDIR =$
af60: 28 42 29 5c 63 6f 6d 70 61 74 5c 6f 70 65 6e 73  (B)\compat\opens
af70: 73 6c 2d 31 2e 30 2e 32 6e 0a 53 53 4c 49 4e 43  sl-1.0.2n.SSLINC
af80: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c  DIR = $(SSLDIR)\ af90: 69 6e 63 33 32 0a 21 69 66 20 24 28 46 4f 53 53 inc32.!if$(FOSS
afa0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44  IL_DYNAMIC_BUILD
afb0: 29 21 3d 30 0a 53 53 4c 4c 49 42 44 49 52 20 3d  )!=0.SSLLIBDIR =
afc0: 20 24 28 53 53 4c 44 49 52 29 5c 6f 75 74 33 32   $(SSLDIR)\out32 afd0: 64 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c 4c 49 42 dll.!else.SSLLIB afe0: 44 49 52 20 3d 20 24 28 53 53 4c 44 49 52 29 5c DIR =$(SSLDIR)\
aff0: 6f 75 74 33 32 0a 21 65 6e 64 69 66 0a 53 53 4c  out32.!endif.SSL
b000: 4c 46 4c 41 47 53 20 3d 20 2f 6e 6f 6c 6f 67 6f  LFLAGS = /nologo
b010: 20 2f 6f 70 74 3a 72 65 66 20 2f 64 65 62 75 67   /opt:ref /debug
b020: 0a 53 53 4c 4c 49 42 20 20 20 20 3d 20 73 73 6c  .SSLLIB    = ssl
b030: 65 61 79 33 32 2e 6c 69 62 20 6c 69 62 65 61 79  eay32.lib libeay
b040: 33 32 2e 6c 69 62 20 75 73 65 72 33 32 2e 6c 69  32.lib user32.li
b050: 62 20 67 64 69 33 32 2e 6c 69 62 20 63 72 79 70  b gdi32.lib cryp
b060: 74 33 32 2e 6c 69 62 0a 21 69 66 20 22 24 28 50  t32.lib.!if "$(P b070: 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61 6d 64 36 LATFORM)"=="amd6 b080: 34 22 20 7c 7c 20 22 24 28 50 4c 41 54 46 4f 52 4" || "$(PLATFOR
b090: 4d 29 22 3d 3d 22 78 36 34 22 0a 21 6d 65 73 73  M)"=="x64".!mess
b0a0: 61 67 65 20 55 73 69 6e 67 20 27 78 36 34 27 20  age Using 'x64'
b0b0: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65  platform for Ope
b0c0: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47  nSSL....# BUGBUG
b0d0: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b0e0: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65  g "no-ssl*" here
b0f0: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c   breaks the buil
b100: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d  d..# SSLCONFIG =
b110: 20 56 43 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73   VC-WIN64A no-as
b120: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c  m no-ssl2 no-ssl
b130: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43  3.SSLCONFIG = VC
b140: 2d 57 49 4e 36 34 41 20 6e 6f 2d 61 73 6d 0a 21  -WIN64A no-asm.!
b150: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA b160: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS b170: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 LCONFIG =$(SSLC
b180: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65  ONFIG) shared.!e
b190: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20  lse.SSLCONFIG =
b1a0: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d  $(SSLCONFIG) no- b1b0: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53 shared.!endif.SS b1c0: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f LSETUP = ms\do_ b1d0: 77 69 6e 36 34 61 2e 62 61 74 0a 21 69 66 20 24 win64a.bat.!if$
b1e0: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f  (FOSSIL_DYNAMIC_
b1f0: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41  BUILD)!=0.SSLNMA
b200: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d  KE  = ms\ntdll.m
b210: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c  ak all.!else.SSL
b220: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d  NMAKE  = ms\nt.m
b230: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20  ak all.!endif.#
b240: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29  BUGBUG (OpenSSL)
b250: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c  : Using "OPENSSL
b260: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62  _NO_SSL*" here b
b270: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75  reaks dynamic bu
b280: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53  ilds..!if $(FOSS b290: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 IL_DYNAMIC_BUILD b2a0: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d )==0.SSLCFLAGS = b2b0: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 -DOPENSSL_NO_SS b2c0: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f L2 -DOPENSSL_NO_ b2d0: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73 SSL3.!endif.!els b2e0: 65 69 66 20 22 24 28 50 4c 41 54 46 4f 52 4d 29 eif "$(PLATFORM)
b2f0: 22 3d 3d 22 69 61 36 34 22 0a 21 6d 65 73 73 61  "=="ia64".!messa
b300: 67 65 20 55 73 69 6e 67 20 27 69 61 36 34 27 20  ge Using 'ia64'
b310: 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 4f 70 65  platform for Ope
b320: 6e 53 53 4c 2e 2e 2e 0a 23 20 42 55 47 42 55 47  nSSL....# BUGBUG
b330: 20 28 4f 70 65 6e 53 53 4c 29 3a 20 55 73 69 6e   (OpenSSL): Usin
b340: 67 20 22 6e 6f 2d 73 73 6c 2a 22 20 68 65 72 65  g "no-ssl*" here
b350: 20 62 72 65 61 6b 73 20 74 68 65 20 62 75 69 6c   breaks the buil
b360: 64 2e 0a 23 20 53 53 4c 43 4f 4e 46 49 47 20 3d  d..# SSLCONFIG =
b370: 20 56 43 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73   VC-WIN64I no-as
b380: 6d 20 6e 6f 2d 73 73 6c 32 20 6e 6f 2d 73 73 6c  m no-ssl2 no-ssl
b390: 33 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43  3.SSLCONFIG = VC
b3a0: 2d 57 49 4e 36 34 49 20 6e 6f 2d 61 73 6d 0a 21  -WIN64I no-asm.!
b3b0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA b3c0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS b3d0: 4c 43 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 LCONFIG =$(SSLC
b3e0: 4f 4e 46 49 47 29 20 73 68 61 72 65 64 0a 21 65  ONFIG) shared.!e
b3f0: 6c 73 65 0a 53 53 4c 43 4f 4e 46 49 47 20 3d 20  lse.SSLCONFIG =
b400: 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 6e 6f 2d  $(SSLCONFIG) no- b410: 73 68 61 72 65 64 0a 21 65 6e 64 69 66 0a 53 53 shared.!endif.SS b420: 4c 53 45 54 55 50 20 20 3d 20 6d 73 5c 64 6f 5f LSETUP = ms\do_ b430: 77 69 6e 36 34 69 2e 62 61 74 0a 21 69 66 20 24 win64i.bat.!if$
b440: 28 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f  (FOSSIL_DYNAMIC_
b450: 42 55 49 4c 44 29 21 3d 30 0a 53 53 4c 4e 4d 41  BUILD)!=0.SSLNMA
b460: 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 6c 6c 2e 6d  KE  = ms\ntdll.m
b470: 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 0a 53 53 4c  ak all.!else.SSL
b480: 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 2e 6d  NMAKE  = ms\nt.m
b490: 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 66 0a 23 20  ak all.!endif.#
b4a0: 42 55 47 42 55 47 20 28 4f 70 65 6e 53 53 4c 29  BUGBUG (OpenSSL)
b4b0: 3a 20 55 73 69 6e 67 20 22 4f 50 45 4e 53 53 4c  : Using "OPENSSL
b4c0: 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 72 65 20 62  _NO_SSL*" here b
b4d0: 72 65 61 6b 73 20 64 79 6e 61 6d 69 63 20 62 75  reaks dynamic bu
b4e0: 69 6c 64 73 2e 0a 21 69 66 20 24 28 46 4f 53 53  ilds..!if $(FOSS b4f0: 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 IL_DYNAMIC_BUILD b500: 29 3d 3d 30 0a 53 53 4c 43 46 4c 41 47 53 20 3d )==0.SSLCFLAGS = b510: 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f 53 53 -DOPENSSL_NO_SS b520: 4c 32 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e 4f 5f L2 -DOPENSSL_NO_ b530: 53 53 4c 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73 SSL3.!endif.!els b540: 65 0a 21 6d 65 73 73 61 67 65 20 41 73 73 75 6d e.!message Assum b550: 69 6e 67 20 27 78 38 36 27 20 70 6c 61 74 66 6f ing 'x86' platfo b560: 72 6d 20 66 6f 72 20 4f 70 65 6e 53 53 4c 2e 2e rm for OpenSSL.. b570: 2e 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e ..# BUGBUG (Open b580: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 6e 6f 2d SSL): Using "no- b590: 73 73 6c 2a 22 20 68 65 72 65 20 62 72 65 61 6b ssl*" here break b5a0: 73 20 74 68 65 20 62 75 69 6c 64 2e 0a 23 20 53 s the build..# S b5b0: 53 4c 43 4f 4e 46 49 47 20 3d 20 56 43 2d 57 49 SLCONFIG = VC-WI b5c0: 4e 33 32 20 6e 6f 2d 61 73 6d 20 6e 6f 2d 73 73 N32 no-asm no-ss b5d0: 6c 32 20 6e 6f 2d 73 73 6c 33 0a 53 53 4c 43 4f l2 no-ssl3.SSLCO b5e0: 4e 46 49 47 20 3d 20 56 43 2d 57 49 4e 33 32 20 NFIG = VC-WIN32 b5f0: 6e 6f 2d 61 73 6d 0a 21 69 66 20 24 28 46 4f 53 no-asm.!if$(FOS
b600: 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c  SIL_DYNAMIC_BUIL
b610: 44 29 21 3d 30 0a 53 53 4c 43 4f 4e 46 49 47 20  D)!=0.SSLCONFIG
b620: 3d 20 24 28 53 53 4c 43 4f 4e 46 49 47 29 20 73  = $(SSLCONFIG) s b630: 68 61 72 65 64 0a 21 65 6c 73 65 0a 53 53 4c 43 hared.!else.SSLC b640: 4f 4e 46 49 47 20 3d 20 24 28 53 53 4c 43 4f 4e ONFIG =$(SSLCON
b650: 46 49 47 29 20 6e 6f 2d 73 68 61 72 65 64 0a 21  FIG) no-shared.!
b660: 65 6e 64 69 66 0a 53 53 4c 53 45 54 55 50 20 20  endif.SSLSETUP
b670: 3d 20 6d 73 5c 64 6f 5f 6d 73 2e 62 61 74 0a 21  = ms\do_ms.bat.!
b680: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA b690: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 53 53 MIC_BUILD)!=0.SS b6a0: 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c 6e 74 64 LNMAKE = ms\ntd b6b0: 6c 6c 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6c 73 65 ll.mak all.!else b6c0: 0a 53 53 4c 4e 4d 41 4b 45 20 20 3d 20 6d 73 5c .SSLNMAKE = ms\ b6d0: 6e 74 2e 6d 61 6b 20 61 6c 6c 0a 21 65 6e 64 69 nt.mak all.!endi b6e0: 66 0a 23 20 42 55 47 42 55 47 20 28 4f 70 65 6e f.# BUGBUG (Open b6f0: 53 53 4c 29 3a 20 55 73 69 6e 67 20 22 4f 50 45 SSL): Using "OPE b700: 4e 53 53 4c 5f 4e 4f 5f 53 53 4c 2a 22 20 68 65 NSSL_NO_SSL*" he b710: 72 65 20 62 72 65 61 6b 73 20 64 79 6e 61 6d 69 re breaks dynami b720: 63 20 62 75 69 6c 64 73 2e 0a 21 69 66 20 24 28 c builds..!if$(
b730: 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42  FOSSIL_DYNAMIC_B
b740: 55 49 4c 44 29 3d 3d 30 0a 53 53 4c 43 46 4c 41  UILD)==0.SSLCFLA
b750: 47 53 20 3d 20 2d 44 4f 50 45 4e 53 53 4c 5f 4e  GS = -DOPENSSL_N
b760: 4f 5f 53 53 4c 32 20 2d 44 4f 50 45 4e 53 53 4c  O_SSL2 -DOPENSSL
b770: 5f 4e 4f 5f 53 53 4c 33 0a 21 65 6e 64 69 66 0a  _NO_SSL3.!endif.
b780: 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21  !endif.!endif..!
b790: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB b7a0: 4c 45 5f 54 43 4c 29 21 3d 30 0a 54 43 4c 44 49 LE_TCL)!=0.TCLDI b7b0: 52 20 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 R =$(B)\comp
b7c0: 61 74 5c 74 63 6c 2d 38 2e 36 0a 54 43 4c 53 52  at\tcl-8.6.TCLSR
b7d0: 43 44 49 52 20 3d 20 24 28 54 43 4c 44 49 52 29  CDIR = $(TCLDIR) b7e0: 0a 54 43 4c 49 4e 43 44 49 52 20 3d 20 24 28 54 .TCLINCDIR =$(T
b7f0: 43 4c 53 52 43 44 49 52 29 5c 67 65 6e 65 72 69  CLSRCDIR)\generi
b800: 63 0a 21 65 6e 64 69 66 0a 0a 23 20 7a 6c 69 62  c.!endif..# zlib
b810: 20 6f 70 74 69 6f 6e 73 0a 5a 49 4e 43 44 49 52   options.ZINCDIR
b820: 20 20 20 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74     = $(B)\compat b830: 5c 7a 6c 69 62 0a 5a 4c 49 42 44 49 52 20 20 20 \zlib.ZLIBDIR b840: 3d 20 24 28 42 29 5c 63 6f 6d 70 61 74 5c 7a 6c =$(B)\compat\zl
b850: 69 62 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  ib..!if $(FOSSIL b860: 5f 44 59 4e 41 4d 49 43 5f 42 55 49 4c 44 29 21 _DYNAMIC_BUILD)! b870: 3d 30 0a 5a 4c 49 42 20 20 20 20 20 20 3d 20 7a =0.ZLIB = z b880: 64 6c 6c 2e 6c 69 62 0a 21 65 6c 73 65 0a 5a 4c dll.lib.!else.ZL b890: 49 42 20 20 20 20 20 20 3d 20 7a 6c 69 62 2e 6c IB = zlib.l b8a0: 69 62 0a 21 65 6e 64 69 66 0a 0a 49 4e 43 4c 20 ib.!endif..INCL b8b0: 20 20 20 20 20 3d 20 2f 49 2e 20 2f 49 24 28 53 = /I. /I$(S
b8c0: 52 43 44 49 52 29 20 2f 49 24 42 5c 77 69 6e 5c  RCDIR) /I$B\win\ b8d0: 69 6e 63 6c 75 64 65 0a 0a 21 69 66 20 24 28 46 include..!if$(F
b8e0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e  OSSIL_ENABLE_MIN
b8f0: 49 5a 29 3d 3d 30 0a 49 4e 43 4c 20 20 20 20 20  IZ)==0.INCL
b900: 20 3d 20 24 28 49 4e 43 4c 29 20 2f 49 24 28 5a   = $(INCL) /I$(Z
b910: 49 4e 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a  INCDIR).!endif..
b920: 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41  !if $(FOSSIL_ENA b930: 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 49 4e 43 4c BLE_SSL)!=0.INCL b940: 20 20 20 20 20 20 3d 20 24 28 49 4e 43 4c 29 20 =$(INCL)
b950: 2f 49 24 28 53 53 4c 49 4e 43 44 49 52 29 0a 21  /I$(SSLINCDIR).! b960: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 endif..!if$(FOS
b970: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21  SIL_ENABLE_TCL)!
b980: 3d 30 0a 49 4e 43 4c 20 20 20 20 20 20 3d 20 24  =0.INCL      = $b990: 28 49 4e 43 4c 29 20 2f 49 24 28 54 43 4c 49 4e (INCL) /I$(TCLIN
b9a0: 43 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 43 46  CDIR).!endif..CF
b9b0: 4c 41 47 53 20 20 20 20 3d 20 2f 6e 6f 6c 6f 67  LAGS    = /nolog
b9c0: 6f 0a 4c 44 46 4c 41 47 53 20 20 20 3d 0a 0a 21  o.LDFLAGS   =..!
b9d0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41  if $(FOSSIL_DYNA b9e0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 4c 44 MIC_BUILD)!=0.LD b9f0: 46 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c FLAGS =$(LDFL
ba00: 41 47 53 29 20 2f 4d 41 4e 49 46 45 53 54 0a 21  AGS) /MANIFEST.!
ba10: 65 6c 73 65 0a 4c 44 46 4c 41 47 53 20 20 20 3d  else.LDFLAGS   =
ba20: 20 24 28 4c 44 46 4c 41 47 53 29 20 2f 4e 4f 44   $(LDFLAGS) /NOD ba30: 45 46 41 55 4c 54 4c 49 42 3a 6d 73 76 63 72 74 EFAULTLIB:msvcrt ba40: 20 2f 4d 41 4e 49 46 45 53 54 3a 4e 4f 0a 21 65 /MANIFEST:NO.!e ba50: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if$(FOSS
ba60: 49 4c 5f 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29  IL_ENABLE_WINXP)
ba70: 21 3d 30 0a 58 50 43 46 4c 41 47 53 20 20 3d 20  !=0.XPCFLAGS  =
ba80: 24 28 58 50 43 46 4c 41 47 53 29 20 2f 44 5f 57  $(XPCFLAGS) /D_W ba90: 49 4e 33 32 5f 57 49 4e 4e 54 3d 30 78 30 35 30 IN32_WINNT=0x050 baa0: 31 20 2f 44 5f 55 53 49 4e 47 5f 56 31 31 30 5f 1 /D_USING_V110_ bab0: 53 44 4b 37 31 5f 3d 31 0a 43 46 4c 41 47 53 20 SDK71_=1.CFLAGS bac0: 20 20 20 3d 20 24 28 43 46 4c 41 47 53 29 20 24 =$(CFLAGS) $bad0: 28 58 50 43 46 4c 41 47 53 29 0a 21 69 66 20 22 (XPCFLAGS).!if " bae0: 24 28 50 4c 41 54 46 4f 52 4d 29 22 3d 3d 22 61$(PLATFORM)"=="a
baf0: 6d 64 36 34 22 20 7c 7c 20 22 24 28 50 4c 41 54  md64" || "$(PLAT bb00: 46 4f 52 4d 29 22 3d 3d 22 78 36 34 22 0a 58 50 FORM)"=="x64".XP bb10: 4c 44 46 4c 41 47 53 20 3d 20 24 28 58 50 4c 44 LDFLAGS =$(XPLD
bb20: 46 4c 41 47 53 29 20 2f 53 55 42 53 59 53 54 45  FLAGS) /SUBSYSTE
bb30: 4d 3a 43 4f 4e 53 4f 4c 45 2c 35 2e 30 32 0a 21  M:CONSOLE,5.02.!
bb40: 65 6c 73 65 0a 58 50 4c 44 46 4c 41 47 53 20 3d  else.XPLDFLAGS =
bb50: 20 24 28 58 50 4c 44 46 4c 41 47 53 29 20 2f 53   $(XPLDFLAGS) /S bb60: 55 42 53 59 53 54 45 4d 3a 43 4f 4e 53 4f 4c 45 UBSYSTEM:CONSOLE bb70: 2c 35 2e 30 31 0a 21 65 6e 64 69 66 0a 4c 44 46 ,5.01.!endif.LDF bb80: 4c 41 47 53 20 20 20 3d 20 24 28 4c 44 46 4c 41 LAGS =$(LDFLA
bb90: 47 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29  GS) $(XPLDFLAGS) bba0: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 .!endif..!if$(F
bbb0: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
bbc0: 49 4c 44 29 21 3d 30 0a 21 69 66 20 24 28 44 45  ILD)!=0.!if $(DE bbd0: 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41 47 53 BUG)!=0.CRTFLAGS bbe0: 20 3d 20 2f 4d 44 64 0a 21 65 6c 73 65 0a 43 52 = /MDd.!else.CR bbf0: 54 46 4c 41 47 53 20 3d 20 2f 4d 44 0a 21 65 6e TFLAGS = /MD.!en bc00: 64 69 66 0a 21 65 6c 73 65 0a 21 69 66 20 24 28 dif.!else.!if$(
bc10: 44 45 42 55 47 29 21 3d 30 0a 43 52 54 46 4c 41  DEBUG)!=0.CRTFLA
bc20: 47 53 20 3d 20 2f 4d 54 64 0a 21 65 6c 73 65 0a  GS = /MTd.!else.
bc30: 43 52 54 46 4c 41 47 53 20 3d 20 2f 4d 54 0a 21  CRTFLAGS = /MT.!
bc40: 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69  endif.!endif..!i
bc50: 66 20 24 28 44 45 42 55 47 29 21 3d 30 0a 43 46  f $(DEBUG)!=0.CF bc60: 4c 41 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 LAGS =$(CFLA
bc70: 47 53 29 20 2f 5a 69 20 24 28 43 52 54 46 4c 41  GS) /Zi $(CRTFLA bc80: 47 53 29 20 2f 4f 64 0a 4c 44 46 4c 41 47 53 20 GS) /Od.LDFLAGS bc90: 20 20 3d 20 24 28 4c 44 46 4c 41 47 53 29 20 2f =$(LDFLAGS) /
bca0: 44 45 42 55 47 0a 21 65 6c 73 65 0a 43 46 4c 41  DEBUG.!else.CFLA
bcb0: 47 53 20 20 20 20 3d 20 24 28 43 46 4c 41 47 53  GS    = $(CFLAGS bcc0: 29 20 24 28 43 52 54 46 4c 41 47 53 29 20 2f 4f )$(CRTFLAGS) /O
bcd0: 32 0a 21 65 6e 64 69 66 0a 0a 42 43 43 20 20 20  2.!endif..BCC
bce0: 20 20 20 20 3d 20 24 28 43 43 29 20 24 28 43 46      = $(CC)$(CF
bcf0: 4c 41 47 53 29 0a 54 43 43 20 20 20 20 20 20 20  LAGS).TCC
bd00: 3d 20 24 28 43 43 29 20 2f 63 20 24 28 43 46 4c  = $(CC) /c$(CFL
bd10: 41 47 53 29 20 24 28 4d 53 43 44 45 46 29 20 24  AGS) $(MSCDEF)$
bd20: 28 49 4e 43 4c 29 0a 52 43 43 20 20 20 20 20 20  (INCL).RCC
bd30: 20 3d 20 24 28 52 43 29 20 2f 44 5f 57 49 4e 33   = $(RC) /D_WIN3 bd40: 32 20 2f 44 5f 4d 53 43 5f 56 45 52 20 24 28 4d 2 /D_MSC_VER$(M
bd50: 53 43 44 45 46 29 20 24 28 49 4e 43 4c 29 0a 4d  SCDEF) $(INCL).M bd60: 54 43 20 20 20 20 20 20 20 3d 20 6d 74 0a 4c 49 TC = mt.LI bd70: 42 53 20 20 20 20 20 20 3d 20 77 73 32 5f 33 32 BS = ws2_32 bd80: 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e 6c 69 .lib advapi32.li bd90: 62 0a 4c 49 42 44 49 52 20 20 20 20 3d 0a 0a 21 b.LIBDIR =..! bda0: 69 66 20 24 28 46 4f 53 53 49 4c 5f 44 59 4e 41 if$(FOSSIL_DYNA
bdb0: 4d 49 43 5f 42 55 49 4c 44 29 21 3d 30 0a 54 43  MIC_BUILD)!=0.TC
bdc0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC) bdd0: 20 2f 44 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 /DFOSSIL_DYNAMI bde0: 43 5f 42 55 49 4c 44 3d 31 0a 52 43 43 20 20 20 C_BUILD=1.RCC bdf0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 =$(RCC) /DF
be00: 4f 53 53 49 4c 5f 44 59 4e 41 4d 49 43 5f 42 55  OSSIL_DYNAMIC_BU
be10: 49 4c 44 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69  ILD=1.!endif..!i
be20: 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c  f $(FOSSIL_ENABL be30: 45 5f 4d 49 4e 49 5a 29 3d 3d 30 0a 4c 49 42 53 E_MINIZ)==0.LIBS be40: 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29 20 =$(LIBS)
be50: 24 28 5a 4c 49 42 29 0a 4c 49 42 44 49 52 20 20  $(ZLIB).LIBDIR be60: 20 20 3d 20 24 28 4c 49 42 44 49 52 29 20 2f 4c =$(LIBDIR) /L
be70: 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 44 49 52  IBPATH:$(ZLIBDIR be80: 29 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 ).!endif..!if$(
be90: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
bea0: 4e 49 5a 29 21 3d 30 0a 54 43 43 20 20 20 20 20  NIZ)!=0.TCC
beb0: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53    = $(TCC) /DFOS bec0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a SIL_ENABLE_MINIZ bed0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 =1.RCC =$
bee0: 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (RCC) /DFOSSIL_E
bef0: 4e 41 42 4c 45 5f 4d 49 4e 49 5a 3d 31 0a 21 65  NABLE_MINIZ=1.!e
bf00: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53  ndif..!if $(FOSS bf10: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 29 21 IL_ENABLE_JSON)! bf20: 3d 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 =0.TCC =$
bf30: 28 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45  (TCC) /DFOSSIL_E
bf40: 4e 41 42 4c 45 5f 4a 53 4f 4e 3d 31 0a 52 43 43  NABLE_JSON=1.RCC
bf50: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20         = $(RCC) bf60: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f /DFOSSIL_ENABLE_ bf70: 4a 53 4f 4e 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 JSON=1.!endif..! bf80: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 if$(FOSSIL_ENAB
bf90: 4c 45 5f 53 53 4c 29 21 3d 30 0a 54 43 43 20 20  LE_SSL)!=0.TCC
bfa0: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D bfb0: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 FOSSIL_ENABLE_SS bfc0: 4c 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 L=1.RCC = bfd0: 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f$(RCC) /DFOSSIL_
bfe0: 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 4c 49 42  ENABLE_SSL=1.LIB
bff0: 53 20 20 20 20 20 20 3d 20 24 28 4c 49 42 53 29  S      = $(LIBS) c000: 20 24 28 53 53 4c 4c 49 42 29 0a 4c 49 42 44 49$(SSLLIB).LIBDI
c010: 52 20 20 20 20 3d 20 24 28 4c 49 42 44 49 52 29  R    = $(LIBDIR) c020: 20 2f 4c 49 42 50 41 54 48 3a 24 28 53 53 4c 4c /LIBPATH:$(SSLL
c030: 49 42 44 49 52 29 0a 21 65 6e 64 69 66 0a 0a 21  IBDIR).!endif..!
c040: 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42  if $(FOSSIL_ENAB c050: 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54 48 LE_EXEC_REL_PATH c060: 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20 20 20 S)!=0.TCC c070: 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 53 49 =$(TCC) /DFOSSI
c080: 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43 5f 52 45  L_ENABLE_EXEC_RE
c090: 4c 5f 50 41 54 48 53 3d 31 0a 52 43 43 20 20 20  L_PATHS=1.RCC
c0a0: 20 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46      = $(RCC) /DF c0b0: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 OSSIL_ENABLE_EXE c0c0: 43 5f 52 45 4c 5f 50 41 54 48 53 3d 31 0a 21 65 C_REL_PATHS=1.!e c0d0: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if$(FOSS
c0e0: 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43 59  IL_ENABLE_LEGACY
c0f0: 5f 4d 56 5f 52 4d 29 21 3d 30 0a 54 43 43 20 20  _MV_RM)!=0.TCC
c100: 20 20 20 20 20 3d 20 24 28 54 43 43 29 20 2f 44       = $(TCC) /D c110: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 FOSSIL_ENABLE_LE c120: 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 52 43 43 GACY_MV_RM=1.RCC c130: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 =$(RCC)
c140: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
c150: 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 3d 31 0a 21  LEGACY_MV_RM=1.!
c160: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53  endif..!if $(FOS c170: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 SIL_ENABLE_TH1_D c180: 4f 43 53 29 21 3d 30 0a 54 43 43 20 20 20 20 20 OCS)!=0.TCC c190: 20 20 3d 20 24 28 54 43 43 29 20 2f 44 46 4f 53 =$(TCC) /DFOS
c1a0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44  SIL_ENABLE_TH1_D
c1b0: 4f 43 53 3d 31 0a 52 43 43 20 20 20 20 20 20 20  OCS=1.RCC
c1c0: 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53 49  = $(RCC) /DFOSSI c1d0: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 44 4f 43 L_ENABLE_TH1_DOC c1e0: 53 3d 31 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 S=1.!endif..!if c1f0: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f$(FOSSIL_ENABLE_
c200: 54 48 31 5f 48 4f 4f 4b 53 29 21 3d 30 0a 54 43  TH1_HOOKS)!=0.TC
c210: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29  C       = $(TCC) c220: 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 /DFOSSIL_ENABLE c230: 5f 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 52 43 43 _TH1_HOOKS=1.RCC c240: 20 20 20 20 20 20 20 3d 20 24 28 52 43 43 29 20 =$(RCC)
c250: 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  /DFOSSIL_ENABLE_
c260: 54 48 31 5f 48 4f 4f 4b 53 3d 31 0a 21 65 6e 64  TH1_HOOKS=1.!end
c270: 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c  if..!if $(FOSSIL c280: 5f 45 4e 41 42 4c 45 5f 54 43 4c 29 21 3d 30 0a _ENABLE_TCL)!=0. c290: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 TCC =$(TC
c2a0: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c2b0: 4c 45 5f 54 43 4c 3d 31 0a 52 43 43 20 20 20 20  LE_TCL=1.RCC
c2c0: 20 20 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f     = $(RCC) /DFO c2d0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 3d SSIL_ENABLE_TCL= c2e0: 31 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 1.TCC =$(
c2f0: 54 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e  TCC) /DFOSSIL_EN
c300: 41 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31  ABLE_TCL_STUBS=1
c310: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52  .RCC       = $(R c320: 43 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 CC) /DFOSSIL_ENA c330: 42 4c 45 5f 54 43 4c 5f 53 54 55 42 53 3d 31 0a BLE_TCL_STUBS=1. c340: 54 43 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 TCC =$(TC
c350: 43 29 20 2f 44 46 4f 53 53 49 4c 5f 45 4e 41 42  C) /DFOSSIL_ENAB
c360: 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54 45 5f 53  LE_TCL_PRIVATE_S
c370: 54 55 42 53 3d 31 0a 52 43 43 20 20 20 20 20 20  TUBS=1.RCC
c380: 20 3d 20 24 28 52 43 43 29 20 2f 44 46 4f 53 53   = $(RCC) /DFOSS c390: 49 4c 5f 45 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 IL_ENABLE_TCL_PR c3a0: 49 56 41 54 45 5f 53 54 55 42 53 3d 31 0a 54 43 IVATE_STUBS=1.TC c3b0: 43 20 20 20 20 20 20 20 3d 20 24 28 54 43 43 29 C =$(TCC)
c3c0: 20 2f 44 55 53 45 5f 54 43 4c 5f 53 54 55 42 53   /DUSE_TCL_STUBS
c3d0: 3d 31 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24  =1.RCC       = $c3e0: 28 52 43 43 29 20 2f 44 55 53 45 5f 54 43 4c 5f (RCC) /DUSE_TCL_ c3f0: 53 54 55 42 53 3d 31 0a 21 65 6e 64 69 66 0a 0a STUBS=1.!endif.. c400: 21 69 66 20 24 28 55 53 45 5f 53 45 45 29 21 3d !if$(USE_SEE)!=
c410: 30 0a 54 43 43 20 20 20 20 20 20 20 3d 20 24 28  0.TCC       = $( c420: 54 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31 TCC) /DUSE_SEE=1 c430: 0a 52 43 43 20 20 20 20 20 20 20 3d 20 24 28 52 .RCC =$(R
c440: 43 43 29 20 2f 44 55 53 45 5f 53 45 45 3d 31 0a  CC) /DUSE_SEE=1.
c450: 21 65 6e 64 69 66 0a 7d 0a 72 65 67 73 75 62 20  !endif.}.regsub
c460: 2d 61 6c 6c 20 7b 5b 2d 5d 44 7d 20 5b 6a 6f 69  -all {[-]D} [joi
c470: 6e 20 24 53 51 4c 49 54 45 5f 57 49 4e 33 32 5f  n $SQLITE_WIN32_ c480: 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d 20 7b 2f 44 OPTIONS { }] {/D c490: 7d 20 4d 53 43 5f 53 51 4c 49 54 45 5f 4f 50 54 } MSC_SQLITE_OPT c4a0: 49 4f 4e 53 0a 73 65 74 20 6a 20 22 20 5c 5c 5c IONS.set j " \\\ c4b0: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n c4c0: 20 20 22 0a 77 72 69 74 65 6c 6e 20 22 53 51 4c ".writeln "SQL c4d0: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 3d 20 5b 6a ITE_OPTIONS = [j c4e0: 6f 69 6e 20 24 4d 53 43 5f 53 51 4c 49 54 45 5f oin$MSC_SQLITE_
c4f0: 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 0a 0a  OPTIONS $j]\n".. c500: 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b 2d 5d regsub -all {[-] c510: 44 7d 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f D} [join$SHELL_
c520: 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20  WIN32_OPTIONS {
c530: 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 53 48 45 4c  }] {/D} MSC_SHEL
c540: 4c 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20 6a 20  L_OPTIONS.set j
c550: 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 20 20  " \\\n
c560: 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20        ".writeln
c570: 22 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 20 3d  "SHELL_OPTIONS =
c580: 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 53 48 45 4c   [join $MSC_SHEL c590: 4c 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c 6e 22 L_OPTIONS$j]\n"
c5a0: 0a 0a 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 5b  ..regsub -all {[
c5b0: 2d 5d 44 7d 20 5b 6a 6f 69 6e 20 24 4d 49 4e 49  -]D} [join $MINI c5c0: 5a 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 Z_WIN32_OPTIONS c5d0: 7b 20 7d 5d 20 7b 2f 44 7d 20 4d 53 43 5f 4d 49 { }] {/D} MSC_MI c5e0: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 0a 73 65 74 20 NIZ_OPTIONS.set c5f0: 6a 20 22 20 5c 5c 5c 6e 20 20 20 20 20 20 20 20 j " \\\n c600: 20 20 20 20 20 20 20 20 22 0a 77 72 69 74 65 6c ".writel c610: 6e 20 22 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e 53 n "MINIZ_OPTIONS c620: 20 3d 20 5b 6a 6f 69 6e 20 24 4d 53 43 5f 4d 49 = [join$MSC_MI
c630: 4e 49 5a 5f 4f 50 54 49 4f 4e 53 20 24 6a 5d 5c  NIZ_OPTIONS $j]\ c640: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e n"..writeln -non c650: 65 77 6c 69 6e 65 20 22 53 52 43 20 20 20 3d 20 ewline "SRC = c660: 22 0a 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 ".set i 0.foreac c670: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d h s [lsort$src]
c680: 20 7b 0a 20 20 69 66 20 7b 24 69 20 3e 20 30 7d   {.  if {$i > 0} c690: 20 7b 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 22 {. writeln " c6a0: 20 5c 5c 22 0a 20 20 20 20 77 72 69 74 65 6c 6e \\". writeln c6b0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 -nonewline " c6c0: 20 20 20 20 20 22 0a 20 20 7d 0a 20 20 77 72 69 ". }. wri c6d0: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 teln -nonewline c6e0: 22 24 7b 73 7d 5f 2e 63 22 3b 20 69 6e 63 72 20 "${s}_.c"; incr
c6f0: 69 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22  i.}.writeln "\n"
c700: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
c710: 69 6e 65 20 22 45 58 54 52 41 5f 46 49 4c 45 53  ine "EXTRA_FILES
c720: 20 20 20 3d 20 22 0a 73 65 74 20 69 20 30 0a 66     = ".set i 0.f
c730: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort
c740: 24 65 78 74 72 61 5f 66 69 6c 65 73 5d 20 7b 0a  $extra_files] {. c750: 20 20 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a if {$i > 0} {.
c760: 20 20 20 20 77 72 69 74 65 6c 6e 20 22 20 5c 5c      writeln " \\
c770: 22 0a 20 20 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ".    writeln -n
c780: 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20 20 20 20  onewline "
c790: 20 20 22 0a 20 20 7d 0a 20 20 77 72 69 74 65 6c    ".  }.  writel
c7a0: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c 24  n -nonewline "\$c7b0: 28 53 52 43 44 49 52 29 5c 5c 24 7b 73 7d 22 3b (SRCDIR)\\${s}";
c7c0: 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74 65 6c   incr i.}.writel
c7d0: 6e 20 22 5c 6e 22 0a 73 65 74 20 41 64 64 69 74  n "\n".set Addit
c7e0: 69 6f 6e 61 6c 4f 62 6a 20 5b 6c 69 73 74 20 73  ionalObj [list s
c7f0: 68 65 6c 6c 20 73 71 6c 69 74 65 33 20 74 68 20  hell sqlite3 th
c800: 74 68 5f 6c 61 6e 67 20 74 68 5f 74 63 6c 20 63  th_lang th_tcl c
c810: 73 6f 6e 5f 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  son_amalgamation
c820: 5d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  ].writeln -nonew
c830: 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d 20 22 0a  line "OBJ   = ".
c840: 73 65 74 20 69 20 30 0a 66 6f 72 65 61 63 68 20  set i 0.foreach
c850: 73 20 5b 6c 73 6f 72 74 20 5b 63 6f 6e 63 61 74  s [lsort [concat
c860: 20 24 73 72 63 20 24 41 64 64 69 74 69 6f 6e 61   $src$Additiona
c870: 6c 4f 62 6a 5d 5d 20 7b 0a 20 20 69 66 20 7b 24  lObj]] {.  if {$c880: 69 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 i > 0} {. wri c890: 74 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 teln " \\". w c8a0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e riteln -nonewlin c8b0: 65 20 22 20 20 20 20 20 20 20 20 22 0a 20 20 7d e " ". } c8c0: 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 . writeln -none c8d0: 77 6c 69 6e 65 20 22 5c 24 28 4f 58 29 5c 5c 24 wline "\$(OX)\\$c8e0: 73 5c 24 4f 22 3b 20 69 6e 63 72 20 69 0a 7d 0a s\$O"; incr i.}.
c8f0: 69 66 20 7b 24 69 20 3e 20 30 7d 20 7b 0a 20 20  if {$i > 0} {. c900: 77 72 69 74 65 6c 6e 20 22 20 5c 5c 22 0a 7d 0a writeln " \\".}. c910: 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c 24 28 writeln "!if \$(
c920: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49  FOSSIL_ENABLE_MI
c930: 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65 6c 6e  NIZ)!=0".writeln
c940: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 20 20   -nonewline "
c950: 20 20 20 20 20 22 0a 77 72 69 74 65 6c 6e 20 22       ".writeln "
c960: 5c 24 28 4f 58 29 5c 5c 6d 69 6e 69 7a 5c 24 4f  \$(OX)\\miniz\$O
c970: 20 5c 5c 22 3b 20 69 6e 63 72 20 69 0a 77 72 69   \\"; incr i.wri
c980: 74 65 6c 6e 20 22 21 65 6e 64 69 66 22 0a 77 72  teln "!endif".wr
c990: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
c9a0: 20 22 20 20 20 20 20 20 20 20 5c 24 28 4f 58 29   "        \$(OX) c9b0: 5c 5c 66 6f 73 73 69 6c 2e 72 65 73 5c 6e 5c 6e \\fossil.res\n\n c9c0: 22 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e ".writeln [strin c9d0: 67 20 6d 61 70 20 5b 6c 69 73 74 20 3c 3c 3c 4e g map [list <<<N c9e0: 45 58 54 5f 4c 49 4e 45 3e 3e 3e 20 5c 5c 5d 20 EXT_LINE>>> \\] c9f0: 7b 0a 41 50 50 4e 41 4d 45 20 20 20 20 3d 20 24 {.APPNAME =$
ca00: 28 4f 58 29 5c 66 6f 73 73 69 6c 24 28 45 29 0a  (OX)\fossil$(E). ca10: 50 44 42 4e 41 4d 45 20 20 20 20 3d 20 24 28 4f PDBNAME =$(O
ca20: 58 29 5c 66 6f 73 73 69 6c 24 28 50 29 0a 41 50  X)\fossil$(P).AP ca30: 50 54 41 52 47 45 54 53 20 3d 0a 0a 61 6c 6c 3a PTARGETS =..all: ca40: 20 24 28 4f 58 29 20 24 28 41 50 50 4e 41 4d 45$(OX) $(APPNAME ca50: 29 0a 0a 7a 6c 69 62 3a 0a 09 40 65 63 68 6f 20 )..zlib:..@echo ca60: 42 75 69 6c 64 69 6e 67 20 7a 6c 69 62 20 66 72 Building zlib fr ca70: 6f 6d 20 22 24 28 5a 4c 49 42 44 49 52 29 22 2e om "$(ZLIBDIR)".
ca80: 2e 2e 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f  ...!if $(FOSSIL_ ca90: 45 4e 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 ENABLE_WINXP)!=0 caa0: 0a 09 40 70 75 73 68 64 20 22 24 28 5a 4c 49 42 ..@pushd "$(ZLIB
cab0: 44 49 52 29 22 20 26 26 20 24 28 4d 41 4b 45 29  DIR)" && $(MAKE) cac0: 20 2f 66 20 77 69 6e 33 32 5c 4d 61 6b 65 66 69 /f win32\Makefi cad0: 6c 65 2e 6d 73 63 20 24 28 5a 4c 49 42 29 20 22 le.msc$(ZLIB) "
cae0: 43 43 3d 63 6c 20 24 28 58 50 43 46 4c 41 47 53  CC=cl $(XPCFLAGS caf0: 29 22 20 22 4c 44 3d 6c 69 6e 6b 20 24 28 58 50 )" "LD=link$(XP
cb00: 4c 44 46 4c 41 47 53 29 22 20 26 26 20 70 6f 70  LDFLAGS)" && pop
cb10: 64 0a 21 65 6c 73 65 0a 09 40 70 75 73 68 64 20  d.!else..@pushd
cb20: 22 24 28 5a 4c 49 42 44 49 52 29 22 20 26 26 20  "$(ZLIBDIR)" && cb30: 24 28 4d 41 4b 45 29 20 2f 66 20 77 69 6e 33 32$(MAKE) /f win32
cb40: 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 24 28  \Makefile.msc $( cb50: 5a 4c 49 42 29 20 26 26 20 70 6f 70 64 0a 21 65 ZLIB) && popd.!e cb60: 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 4f 53 53 ndif..!if$(FOSS
cb70: 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 29 21 3d  IL_ENABLE_SSL)!=
cb80: 30 0a 6f 70 65 6e 73 73 6c 3a 0a 09 40 65 63 68  0.openssl:..@ech
cb90: 6f 20 42 75 69 6c 64 69 6e 67 20 4f 70 65 6e 53  o Building OpenS
cba0: 53 4c 20 66 72 6f 6d 20 22 24 28 53 53 4c 44 49  SL from "$(SSLDI cbb0: 52 29 22 2e 2e 2e 0a 21 69 66 20 22 24 28 50 45 R)"....!if "$(PE
cbc0: 52 4c 44 49 52 29 22 20 21 3d 20 22 22 0a 09 40  RLDIR)" != ""..@
cbd0: 73 65 74 20 50 41 54 48 3d 24 28 50 45 52 4c 44  set PATH=$(PERLD cbe0: 49 52 29 3b 24 28 50 41 54 48 29 0a 21 65 6e 64 IR);$(PATH).!end
cbf0: 69 66 0a 09 40 70 75 73 68 64 20 22 24 28 53 53  if..@pushd "$(SS cc00: 4c 44 49 52 29 22 20 26 26 20 24 28 50 45 52 4c LDIR)" &&$(PERL
cc10: 29 20 43 6f 6e 66 69 67 75 72 65 20 24 28 53 53  ) Configure $(SS cc20: 4c 43 4f 4e 46 49 47 29 20 26 26 20 70 6f 70 64 LCONFIG) && popd cc30: 0a 09 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 ..@pushd "$(SSLD
cc40: 49 52 29 22 20 26 26 20 63 61 6c 6c 20 24 28 53  IR)" && call $(S cc50: 53 4c 53 45 54 55 50 29 20 26 26 20 70 6f 70 64 SLSETUP) && popd cc60: 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45 4e .!if$(FOSSIL_EN
cc70: 41 42 4c 45 5f 57 49 4e 58 50 29 21 3d 30 0a 09  ABLE_WINXP)!=0..
cc80: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52  @pushd "$(SSLDIR cc90: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66 )" &&$(MAKE) /f
cca0: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43   $(SSLNMAKE) "CC ccb0: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29 =cl$(SSLCFLAGS)
ccc0: 20 24 28 58 50 43 46 4c 41 47 53 29 22 20 22 4c   $(XPCFLAGS)" "L ccd0: 46 4c 41 47 53 3d 24 28 53 53 4c 4c 46 4c 41 47 FLAGS=$(SSLLFLAG
cce0: 53 29 20 24 28 58 50 4c 44 46 4c 41 47 53 29 22  S) $(XPLDFLAGS)" ccf0: 20 26 26 20 70 6f 70 64 0a 21 65 6c 73 65 0a 09 && popd.!else.. cd00: 40 70 75 73 68 64 20 22 24 28 53 53 4c 44 49 52 @pushd "$(SSLDIR
cd10: 29 22 20 26 26 20 24 28 4d 41 4b 45 29 20 2f 66  )" && $(MAKE) /f cd20: 20 24 28 53 53 4c 4e 4d 41 4b 45 29 20 22 43 43$(SSLNMAKE) "CC
cd30: 3d 63 6c 20 24 28 53 53 4c 43 46 4c 41 47 53 29  =cl $(SSLCFLAGS) cd40: 22 20 26 26 20 70 6f 70 64 0a 21 65 6e 64 69 66 " && popd.!endif cd50: 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 46 .!endif..!if$(F
cd60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4d 49 4e  OSSIL_ENABLE_MIN
cd70: 49 5a 29 3d 3d 30 0a 21 69 66 20 24 28 46 4f 53  IZ)==0.!if $(FOS cd80: 53 49 4c 5f 42 55 49 4c 44 5f 5a 4c 49 42 29 21 SIL_BUILD_ZLIB)! cd90: 3d 30 0a 41 50 50 54 41 52 47 45 54 53 20 3d 20 =0.APPTARGETS = cda0: 24 28 41 50 50 54 41 52 47 45 54 53 29 20 7a 6c$(APPTARGETS) zl
cdb0: 69 62 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66  ib.!endif.!endif
cdc0: 0a 0a 21 69 66 20 24 28 46 4f 53 53 49 4c 5f 45  ..!if $(FOSSIL_E cdd0: 4e 41 42 4c 45 5f 53 53 4c 29 21 3d 30 0a 21 69 NABLE_SSL)!=0.!i cde0: 66 20 24 28 46 4f 53 53 49 4c 5f 42 55 49 4c 44 f$(FOSSIL_BUILD
cdf0: 5f 53 53 4c 29 21 3d 30 0a 41 50 50 54 41 52 47  _SSL)!=0.APPTARG
ce00: 45 54 53 20 3d 20 24 28 41 50 50 54 41 52 47 45  ETS = $(APPTARGE ce10: 54 53 29 20 6f 70 65 6e 73 73 6c 0a 21 65 6e 64 TS) openssl.!end ce20: 69 66 0a 21 65 6e 64 69 66 0a 0a 24 28 41 50 50 if.!endif..$(APP
ce30: 4e 41 4d 45 29 20 3a 20 24 28 41 50 50 54 41 52  NAME) : $(APPTAR ce40: 47 45 54 53 29 20 74 72 61 6e 73 6c 61 74 65 24 GETS) translate$
ce50: 45 20 6d 6b 69 6e 64 65 78 24 45 20 63 6f 64 65  E mkindex$E code ce60: 63 68 65 63 6b 31 24 45 20 68 65 61 64 65 72 73 check1$E headers
ce70: 20 24 28 4f 42 4a 29 20 24 28 4f 58 29 5c 6c 69   $(OBJ)$(OX)\li
ce80: 6e 6b 6f 70 74 73 0a 09 63 64 20 24 28 4f 58 29  nkopts..cd $(OX) ce90: 0a 09 63 6f 64 65 63 68 65 63 6b 31 24 45 20 24 ..codecheck1$E $cea0: 28 53 52 43 29 0a 09 6c 69 6e 6b 20 24 28 4c 44 (SRC)..link$(LD
ceb0: 46 4c 41 47 53 29 20 2f 4f 55 54 3a 24 40 20 24  FLAGS) /OUT:$@$
cec0: 28 4c 49 42 44 49 52 29 20 57 73 65 74 61 72 67  (LIBDIR) Wsetarg
ced0: 76 2e 6f 62 6a 20 66 6f 73 73 69 6c 2e 72 65 73  v.obj fossil.res
cee0: 20 40 6c 69 6e 6b 6f 70 74 73 0a 09 69 66 20 65   @linkopts..if e
cef0: 78 69 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74  xist $@.manifest cf00: 20 3c 3c 3c 4e 45 58 54 5f 4c 49 4e 45 3e 3e 3e <<<NEXT_LINE>>> cf10: 0a 09 09 24 28 4d 54 43 29 20 2d 6e 6f 6c 6f 67 ...$(MTC) -nolog
cf20: 6f 20 2d 6d 61 6e 69 66 65 73 74 20 24 40 2e 6d  o -manifest $@.m cf30: 61 6e 69 66 65 73 74 20 2d 6f 75 74 70 75 74 72 anifest -outputr cf40: 65 73 6f 75 72 63 65 3a 24 40 3b 31 0a 0a 24 28 esource:$@;1..$( cf50: 4f 58 29 5c 6c 69 6e 6b 6f 70 74 73 3a 20 24 42 OX)\linkopts:$B
cf60: 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c 65 2e 6d 73  \win\Makefile.ms
cf70: 63 7d 5d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e  c}].set redir {>
cf80: 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  }.foreach s [lso
cf90: 72 74 20 5b 63 6f 6e 63 61 74 20 24 73 72 63 20  rt [concat $src cfa0: 24 41 64 64 69 74 69 6f 6e 61 6c 4f 62 6a 5d 5d$AdditionalObj]]
cfb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74   {.  writeln "\t
cfc0: 65 63 68 6f 20 5c 24 28 4f 58 29 5c 5c 24 73 2e  echo \$(OX)\\$s.
cfd0: 6f 62 6a 20 24 72 65 64 69 72 20 5c 24 40 22 0a  obj $redir \$@".
cfe0: 20 20 73 65 74 20 72 65 64 69 72 20 7b 3e 3e 7d    set redir {>>}
cff0: 0a 7d 0a 73 65 74 20 72 65 64 69 72 20 7b 3e 3e  .}.set redir {>>
d000: 7d 0a 77 72 69 74 65 6c 6e 20 22 21 69 66 20 5c  }.writeln "!if \
d010: 24 28 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  $(FOSSIL_ENABLE_ d020: 4d 49 4e 49 5a 29 21 3d 30 22 0a 77 72 69 74 65 MINIZ)!=0".write d030: 6c 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4f 58 ln "\techo \$(OX
d040: 29 5c 5c 6d 69 6e 69 7a 2e 6f 62 6a 20 24 72 65  )\\miniz.obj $re d050: 64 69 72 20 5c 24 40 22 0a 77 72 69 74 65 6c 6e dir \$@".writeln
d060: 20 22 21 65 6e 64 69 66 22 0a 77 72 69 74 65 6c   "!endif".writel
d070: 6e 20 22 5c 74 65 63 68 6f 20 5c 24 28 4c 49 42  n "\techo \$(LIB d080: 53 29 20 24 72 65 64 69 72 20 5c 24 40 22 0a 77 S)$redir \$@".w d090: 72 69 74 65 6c 6e 20 7b 0a 24 28 4f 58 29 3a 0a riteln {.$(OX):.
d0a0: 09 40 2d 6d 6b 64 69 72 20 24 40 0a 0a 74 72 61  .@-mkdir $@..tra d0b0: 6e 73 6c 61 74 65 24 45 3a 20 24 28 53 52 43 44 nslate$E: $(SRCD d0c0: 49 52 29 5c 74 72 61 6e 73 6c 61 74 65 2e 63 0a IR)\translate.c. d0d0: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 61 6b .$(BCC) $**..mak d0e0: 65 68 65 61 64 65 72 73 24 45 3a 20 24 28 53 52 eheaders$E: $(SR d0f0: 43 44 49 52 29 5c 6d 61 6b 65 68 65 61 64 65 72 CDIR)\makeheader d100: 73 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a 0a s.c..$(BCC) $**. d110: 0a 6d 6b 69 6e 64 65 78 24 45 3a 20 24 28 53 52 .mkindex$E: $(SR d120: 43 44 49 52 29 5c 6d 6b 69 6e 64 65 78 2e 63 0a CDIR)\mkindex.c. d130: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 62 .$(BCC) $**..mkb d140: 75 69 6c 74 69 6e 24 45 3a 20 24 28 53 52 43 44 uiltin$E: $(SRCD d150: 49 52 29 5c 6d 6b 62 75 69 6c 74 69 6e 2e 63 0a IR)\mkbuiltin.c. d160: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 76 .$(BCC) $**..mkv d170: 65 72 73 69 6f 6e 24 45 3a 20 24 28 53 52 43 44 ersion$E: $(SRCD d180: 49 52 29 5c 6d 6b 76 65 72 73 69 6f 6e 2e 63 0a IR)\mkversion.c. d190: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 63 .$(BCC) $**..mkc d1a0: 73 73 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c ss$E: $(SRCDIR)\ d1b0: 6d 6b 63 73 73 2e 63 0a 09 24 28 42 43 43 29 20 mkcss.c..$(BCC)
d1c0: 24 2a 2a 0a 0a 63 6f 64 65 63 68 65 63 6b 31 24  $**..codecheck1$
d1d0: 45 3a 20 24 28 53 52 43 44 49 52 29 5c 63 6f 64  E: $(SRCDIR)\cod d1e0: 65 63 68 65 63 6b 31 2e 63 0a 09 24 28 42 43 43 echeck1.c..$(BCC
d1f0: 29 20 24 2a 2a 0a 0a 21 69 66 20 24 28 55 53 45  ) $**..!if$(USE
d200: 5f 53 45 45 29 21 3d 30 0a 53 45 45 5f 46 4c 41  _SEE)!=0.SEE_FLA
d210: 47 53 20 3d 20 2f 44 53 51 4c 49 54 45 5f 48 41  GS = /DSQLITE_HA
d220: 53 5f 43 4f 44 45 43 3d 31 20 2f 44 53 51 4c 49  S_CODEC=1 /DSQLI
d230: 54 45 5f 53 48 45 4c 4c 5f 44 42 4b 45 59 5f 50  TE_SHELL_DBKEY_P
d240: 52 4f 43 3d 66 6f 73 73 69 6c 5f 6b 65 79 0a 53  ROC=fossil_key.S
d250: 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43  QLITE3_SHELL_SRC
d260: 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 68 65   = $(SRCDIR)\she d270: 6c 6c 2d 73 65 65 2e 63 0a 53 51 4c 49 54 45 33 ll-see.c.SQLITE3 d280: 5f 53 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 _SRC =$(SRCDIR)
d290: 5c 73 71 6c 69 74 65 33 2d 73 65 65 2e 63 0a 21  \sqlite3-see.c.!
d2a0: 65 6c 73 65 0a 53 45 45 5f 46 4c 41 47 53 20 3d  else.SEE_FLAGS =
d2b0: 0a 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c 5f 53  .SQLITE3_SHELL_S
d2c0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73  RC = $(SRCDIR)\s d2d0: 68 65 6c 6c 2e 63 0a 53 51 4c 49 54 45 33 5f 53 hell.c.SQLITE3_S d2e0: 52 43 20 3d 20 24 28 53 52 43 44 49 52 29 5c 73 RC =$(SRCDIR)\s
d2f0: 71 6c 69 74 65 33 2e 63 0a 21 65 6e 64 69 66 0a  qlite3.c.!endif.
d300: 0a 24 28 4f 58 29 5c 73 68 65 6c 6c 24 4f 20 3a  .$(OX)\shell$O :
d310: 20 24 28 53 51 4c 49 54 45 33 5f 53 48 45 4c 4c   $(SQLITE3_SHELL d320: 5f 53 52 43 29 20 24 42 5c 77 69 6e 5c 4d 61 6b _SRC)$B\win\Mak
d330: 65 66 69 6c 65 2e 6d 73 63 0a 09 24 28 54 43 43  efile.msc..$(TCC d340: 29 20 2f 46 6f 24 40 20 24 28 53 48 45 4c 4c 5f ) /Fo$@ $(SHELL_ d350: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54 OPTIONS)$(SQLIT
d360: 45 5f 4f 50 54 49 4f 4e 53 29 20 24 28 53 48 45  E_OPTIONS) $(SHE d370: 4c 4c 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45 LL_CFLAGS)$(SEE
d380: 5f 46 4c 41 47 53 29 20 2d 63 20 24 28 53 51 4c  _FLAGS) -c $(SQL d390: 49 54 45 33 5f 53 48 45 4c 4c 5f 53 52 43 29 0a ITE3_SHELL_SRC). d3a0: 0a 24 28 4f 58 29 5c 73 71 6c 69 74 65 33 24 4f .$(OX)\sqlite3$O d3b0: 20 3a 20 24 28 53 51 4c 49 54 45 33 5f 53 52 43 :$(SQLITE3_SRC
d3c0: 29 20 24 42 5c 77 69 6e 5c 4d 61 6b 65 66 69 6c  ) $B\win\Makefil d3d0: 65 2e 6d 73 63 0a 09 24 28 54 43 43 29 20 2f 46 e.msc..$(TCC) /F
d3e0: 6f 24 40 20 2d 63 20 24 28 53 51 4c 49 54 45 5f  o$@ -c$(SQLITE_
d3f0: 4f 50 54 49 4f 4e 53 29 20 24 28 53 51 4c 49 54  OPTIONS) $(SQLIT d400: 45 5f 43 46 4c 41 47 53 29 20 24 28 53 45 45 5f E_CFLAGS)$(SEE_
d410: 46 4c 41 47 53 29 20 24 28 53 51 4c 49 54 45 33  FLAGS) $(SQLITE3 d420: 5f 53 52 43 29 0a 0a 24 28 4f 58 29 5c 74 68 24 _SRC)..$(OX)\th$d430: 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 O :$(SRCDIR)\th
d440: 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40  .c..$(TCC) /Fo$@
d450: 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74   -c $**..$(OX)\t
d460: 68 5f 6c 61 6e 67 24 4f 20 3a 20 24 28 53 52 43  h_lang$O :$(SRC
d470: 44 49 52 29 5c 74 68 5f 6c 61 6e 67 2e 63 0a 09  DIR)\th_lang.c..
d480: 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d 63 20  $(TCC) /Fo$@ -c
d490: 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68 5f 74 63  $**..$(OX)\th_tc
d4a0: 6c 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c  l$O :$(SRCDIR)\
d4b0: 74 68 5f 74 63 6c 2e 63 0a 09 24 28 54 43 43 29  th_tcl.c..$(TCC) d4c0: 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 /Fo$@ -c $**..$
d4d0: 28 4f 58 29 5c 6d 69 6e 69 7a 24 4f 20 3a 20 24  (OX)\miniz$O :$
d4e0: 28 53 52 43 44 49 52 29 5c 6d 69 6e 69 7a 2e 63  (SRCDIR)\miniz.c
d4f0: 0a 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d  ..$(TCC) /Fo$@ -
d500: 63 20 24 28 4d 49 4e 49 5a 5f 4f 50 54 49 4f 4e  c $(MINIZ_OPTION d510: 53 29 20 24 28 53 52 43 44 49 52 29 5c 6d 69 6e S)$(SRCDIR)\min
d520: 69 7a 2e 63 0a 0a 56 45 52 53 49 4f 4e 2e 68 20  iz.c..VERSION.h
d530: 3a 20 6d 6b 76 65 72 73 69 6f 6e 24 45 20 24 42  : mkversion$E$B
d540: 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  \manifest.uuid $d550: 42 5c 6d 61 6e 69 66 65 73 74 20 24 42 5c 56 45 B\manifest$B\VE
d560: 52 53 49 4f 4e 0a 09 24 2a 2a 20 3e 20 24 40 0a  RSION..$** >$@.
d570: 0a 24 28 4f 58 29 5c 63 73 6f 6e 5f 61 6d 61 6c  .$(OX)\cson_amal d580: 67 61 6d 61 74 69 6f 6e 24 4f 20 3a 20 24 28 53 gamation$O : $(S d590: 52 43 44 49 52 29 5c 63 73 6f 6e 5f 61 6d 61 6c RCDIR)\cson_amal d5a0: 67 61 6d 61 74 69 6f 6e 2e 63 0a 09 24 28 54 43 gamation.c..$(TC
d5b0: 43 29 20 2f 46 6f 24 40 20 2f 63 20 24 2a 2a 0a  C) /Fo$@ /c$**.
d5c0: 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 3a 20  .default_css.h:
d5d0: 6d 6b 63 73 73 24 45 20 24 28 53 52 43 44 49 52  mkcss$E$(SRCDIR
d5e0: 29 5c 64 65 66 61 75 6c 74 5f 63 73 73 2e 74 78  )\default_css.tx
d5f0: 74 0a 09 24 2a 2a 20 24 40 0a 0a 70 61 67 65 5f  t..$**$@..page_
d600: 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e 64 65 78  index.h: mkindex
d610: 24 45 20 24 28 53 52 43 29 0a 09 24 2a 2a 20 3e  $E$(SRC)..$** > d620: 20 24 40 0a 0a 62 75 69 6c 74 69 6e 5f 64 61 74$@..builtin_dat
d630: 61 2e 68 3a 09 6d 6b 62 75 69 6c 74 69 6e 24 45  a.h:.mkbuiltin$E d640: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 0a$(EXTRA_FILES).
d650: 09 6d 6b 62 75 69 6c 74 69 6e 24 45 20 2d 2d 70  .mkbuiltin$E --p d660: 72 65 66 69 78 20 24 28 53 52 43 44 49 52 29 2f refix$(SRCDIR)/
d670: 20 24 28 45 58 54 52 41 5f 46 49 4c 45 53 29 20   $(EXTRA_FILES) d680: 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a 09 64 65 >$@..clean:..de
d690: 6c 20 24 28 4f 58 29 5c 2a 2e 6f 62 6a 20 32 3e  l $(OX)\*.obj 2> d6a0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6f 62 6a 20 32 NUL..del *.obj 2 d6b0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 5f 2e 63 20 32 >NUL..del *_.c 2 d6c0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 68 20 32 3e >NUL..del *.h 2> d6d0: 4e 55 4c 0a 09 64 65 6c 20 2a 2e 69 6c 6b 20 32 NUL..del *.ilk 2 d6e0: 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 6d 61 70 20 >NUL..del *.map d6f0: 32 3e 4e 55 4c 0a 09 64 65 6c 20 2a 2e 72 65 73 2>NUL..del *.res d700: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 68 65 61 64 2>NUL..del head d710: 65 72 73 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6c ers 2>NUL..del l d720: 69 6e 6b 6f 70 74 73 20 32 3e 4e 55 4c 0a 09 64 inkopts 2>NUL..d d730: 65 6c 20 76 63 2a 2e 70 64 62 20 32 3e 4e 55 4c el vc*.pdb 2>NUL d740: 0a 0a 72 65 61 6c 63 6c 65 61 6e 3a 20 63 6c 65 ..realclean: cle d750: 61 6e 0a 09 64 65 6c 20 24 28 41 50 50 4e 41 4d an..del$(APPNAM
d760: 45 29 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 24 28  E) 2>NUL..del $( d770: 50 44 42 4e 41 4d 45 29 20 32 3e 4e 55 4c 0a 09 PDBNAME) 2>NUL.. d780: 64 65 6c 20 74 72 61 6e 73 6c 61 74 65 24 45 20 del translate$E
d790: 32 3e 4e 55 4c 0a 09 64 65 6c 20 74 72 61 6e 73  2>NUL..del trans
d7a0: 6c 61 74 65 24 50 20 32 3e 4e 55 4c 0a 09 64 65  late$P 2>NUL..de d7b0: 6c 20 6d 6b 69 6e 64 65 78 24 45 20 32 3e 4e 55 l mkindex$E 2>NU
d7c0: 4c 0a 09 64 65 6c 20 6d 6b 69 6e 64 65 78 24 50  L..del mkindex$P d7d0: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 61 6b 65 2>NUL..del make d7e0: 68 65 61 64 65 72 73 24 45 20 32 3e 4e 55 4c 0a headers$E 2>NUL.
d7f0: 09 64 65 6c 20 6d 61 6b 65 68 65 61 64 65 72 73  .del makeheaders
d800: 24 50 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b  $P 2>NUL..del mk d810: 76 65 72 73 69 6f 6e 24 45 20 32 3e 4e 55 4c 0a version$E 2>NUL.
d820: 09 64 65 6c 20 6d 6b 76 65 72 73 69 6f 6e 24 50  .del mkversion$P d830: 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d 6b 63 73 2>NUL..del mkcs d840: 73 24 45 20 32 3e 4e 55 4c 0a 09 64 65 6c 20 6d s$E 2>NUL..del m
d850: 6b 63 73 73 24 50 20 32 3e 4e 55 4c 0a 09 64 65  kcss$P 2>NUL..de d860: 6c 20 63 6f 64 65 63 68 65 63 6b 31 24 45 20 32 l codecheck1$E 2
d870: 3e 4e 55 4c 0a 09 64 65 6c 20 63 6f 64 65 63 68  >NUL..del codech
d880: 65 63 6b 31 24 50 20 32 3e 4e 55 4c 0a 09 64 65  eck1$P 2>NUL..de d890: 6c 20 6d 6b 62 75 69 6c 74 69 6e 24 45 20 32 3e l mkbuiltin$E 2>
d8a0: 4e 55 4c 0a 09 64 65 6c 20 6d 6b 62 75 69 6c 74  NUL..del mkbuilt
d8b0: 69 6e 24 50 20 32 3e 4e 55 4c 0a 0a 24 28 4f 42  in$P 2>NUL..$(OB
d8c0: 4a 44 49 52 29 5c 6a 73 6f 6e 24 4f 20 3a 20 24  JDIR)\json$O :$
d8d0: 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65  (SRCDIR)\json_de
d8e0: 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29  tail.h.$(OBJDIR) d8f0: 5c 6a 73 6f 6e 5f 61 72 74 69 66 61 63 74 24 4f \json_artifact$O
d900: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a 73 6f   : $(SRCDIR)\jso d910: 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a n_detail.h.$(OBJ
d920: 44 49 52 29 5c 6a 73 6f 6e 5f 62 72 61 6e 63 68  DIR)\json_branch
d930: 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c 6a  $O :$(SRCDIR)\j
d940: 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 4f  son_detail.h.$(O d950: 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 63 6f 6e 66 BJDIR)\json_conf d960: 69 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 ig$O : $(SRCDIR) d970: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 \json_detail.h.$
d980: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69  (OBJDIR)\json_di
d990: 66 66 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  ff$O :$(SRCDIR)
d9a0: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$d9b0: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 64 69 (OBJDIR)\json_di d9c0: 72 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29 5c r$O : $(SRCDIR)\ d9d0: 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24 28 json_detail.h.$(
d9e0: 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 66 69 6e  OBJDIR)\json_fin
d9f0: 66 6f 24 4f 20 3a 20 24 28 53 52 43 44 49 52 29  fo$O :$(SRCDIR)
da00: 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a 24  \json_detail.h.$da10: 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 6c 6f (OBJDIR)\json_lo da20: 67 69 6e 24 4f 20 3a 20 24 28 53 52 43 44 49 52 gin$O : $(SRCDIR da30: 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68 0a )\json_detail.h. da40: 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f 71$(OBJDIR)\json_q
da50: 75 65 72 79 24 4f 20 3a 20 24 28 53 52 43 44 49  uery$O :$(SRCDI
da60: 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c 2e 68  R)\json_detail.h
da70: 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f 6e 5f  .$(OBJDIR)\json_ da80: 72 65 70 6f 72 74 24 4f 20 3a 20 24 28 53 52 43 report$O : $(SRC da90: 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 6c DIR)\json_detail daa0: 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 6f .h.$(OBJDIR)\jso
dab0: 6e 5f 73 74 61 74 75 73 24 4f 20 3a 20 24 28 53  n_status$O :$(S
dac0: 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61  RCDIR)\json_deta
dad0: 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a  il.h.$(OBJDIR)\j dae0: 73 6f 6e 5f 74 61 67 24 4f 20 3a 20 24 28 53 52 son_tag$O : $(SR daf0: 43 44 49 52 29 5c 6a 73 6f 6e 5f 64 65 74 61 69 CDIR)\json_detai db00: 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 29 5c 6a 73 l.h.$(OBJDIR)\js
db10: 6f 6e 5f 74 69 6d 65 6c 69 6e 65 24 4f 20 3a 20  on_timeline$O : db20: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64$(SRCDIR)\json_d
db30: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52  etail.h.$(OBJDIR db40: 29 5c 6a 73 6f 6e 5f 75 73 65 72 24 4f 20 3a 20 )\json_user$O :
db50: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64  $(SRCDIR)\json_d db60: 65 74 61 69 6c 2e 68 0a 24 28 4f 42 4a 44 49 52 etail.h.$(OBJDIR
db70: 29 5c 6a 73 6f 6e 5f 77 69 6b 69 24 4f 20 3a 20  )\json_wiki$O : db80: 24 28 53 52 43 44 49 52 29 5c 6a 73 6f 6e 5f 64$(SRCDIR)\json_d
db90: 65 74 61 69 6c 2e 68 0a 7d 0a 66 6f 72 65 61 63  etail.h.}.foreac
dba0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src] dbb0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24 {. writeln "\$
dbc0: 28 4f 58 29 5c 5c 24 73 5c 24 4f 20 3a 20 24 7b  (OX)\\$s\$O : ${ dbd0: 73 7d 5f 2e 63 20 24 7b 73 7d 2e 68 22 0a 20 20 s}_.c${s}.h".
dbe0: 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 54 43  writeln "\t\$(TC dbf0: 43 29 20 2f 46 6f 5c 24 40 20 2d 63 20 24 7b 73 C) /Fo\$@ -c ${s dc00: 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69 74 65 6c }_.c\n". writel dc10: 6e 20 22 24 7b 73 7d 5f 2e 63 20 3a 20 5c 24 28 n "${s}_.c : \$( dc20: 53 52 43 44 49 52 29 5c 5c 24 73 2e 63 22 0a 20 SRCDIR)\\$s.c".
dc30: 20 77 72 69 74 65 6c 6e 20 22 5c 74 74 72 61 6e   writeln "\ttran
dc40: 73 6c 61 74 65 5c 24 45 20 5c 24 2a 2a 20 3e 20  slate\$E \$** >
dc50: 5c 24 40 5c 6e 22 0a 7d 0a 0a 77 72 69 74 65 6c  \$@\n".}..writel dc60: 6e 20 22 66 6f 73 73 69 6c 2e 72 65 73 20 3a 20 n "fossil.res : dc70: 5c 24 42 5c 5c 77 69 6e 5c 5c 66 6f 73 73 69 6c \$B\\win\\fossil
dc80: 2e 72 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  .rc".writeln "\t
dc90: 5c 24 28 52 43 43 29 20 20 2f 66 6f 20 5c 24 40  \$(RCC) /fo \$@
dca0: 20 5c 24 2a 2a 5c 6e 22 0a 0a 77 72 69 74 65 6c   \$**\n"..writel dcb0: 6e 20 22 68 65 61 64 65 72 73 3a 20 6d 61 6b 65 n "headers: make dcc0: 68 65 61 64 65 72 73 5c 24 45 20 70 61 67 65 5f headers\$E page_
dcd0: 69 6e 64 65 78 2e 68 20 62 75 69 6c 74 69 6e 5f  index.h builtin_
dce0: 64 61 74 61 2e 68 20 64 65 66 61 75 6c 74 5f 63  data.h default_c
dcf0: 73 73 2e 68 20 56 45 52 53 49 4f 4e 2e 68 22 0a  ss.h VERSION.h".
dd00: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
dd10: 6e 65 20 22 5c 74 6d 61 6b 65 68 65 61 64 65 72  ne "\tmakeheader
dd20: 73 5c 24 45 20 22 0a 73 65 74 20 69 20 30 0a 66  s\$E ".set i 0.f dd30: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 oreach s [lsort dd40: 24 73 72 63 5d 20 7b 0a 20 20 69 66 20 7b 24 69$src] {.  if {$i dd50: 20 3e 20 30 7d 20 7b 0a 20 20 20 20 77 72 69 74 > 0} {. writ dd60: 65 6c 6e 20 22 20 5c 5c 22 0a 20 20 20 20 77 72 eln " \\". wr dd70: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 iteln -nonewline dd80: 20 22 5c 74 5c 74 5c 74 22 0a 20 20 7d 0a 20 20 "\t\t\t". }. dd90: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 writeln -nonewli dda0: 6e 65 20 22 24 7b 73 7d 5f 2e 63 3a 24 73 2e 68 ne "${s}_.c:$s.h ddb0: 22 3b 20 69 6e 63 72 20 69 0a 7d 0a 77 72 69 74 "; incr i.}.writ ddc0: 65 6c 6e 20 22 20 5c 5c 5c 6e 5c 74 5c 74 5c 74 eln " \\\n\t\t\t ddd0: 5c 24 28 53 52 43 44 49 52 29 5c 5c 73 71 6c 69 \$(SRCDIR)\\sqli
dde0: 74 65 33 2e 68 20 5c 5c 22 0a 77 72 69 74 65 6c  te3.h \\".writel
ddf0: 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43 44  n "\t\t\t\$(SRCD de00: 49 52 29 5c 5c 74 68 2e 68 20 5c 5c 22 0a 77 72 IR)\\th.h \\".wr de10: 69 74 65 6c 6e 20 22 5c 74 5c 74 5c 74 56 45 52 iteln "\t\t\tVER de20: 53 49 4f 4e 2e 68 20 5c 5c 22 0a 77 72 69 74 65 SION.h \\".write de30: 6c 6e 20 22 5c 74 5c 74 5c 74 5c 24 28 53 52 43 ln "\t\t\t\$(SRC
de40: 44 49 52 29 5c 5c 63 73 6f 6e 5f 61 6d 61 6c 67  DIR)\\cson_amalg
de50: 61 6d 61 74 69 6f 6e 2e 68 22 0a 77 72 69 74 65  amation.h".write
de60: 6c 6e 20 22 5c 74 40 63 6f 70 79 20 2f 59 20 6e  ln "\t@copy /Y n
de70: 75 6c 3a 20 68 65 61 64 65 72 73 22 0a 0a 0a 63  ul: headers"...c
de80: 6c 6f 73 65 20 24 6f 75 74 70 75 74 5f 66 69 6c  lose $output_fil de90: 65 0a 23 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 e.#.# End of the dea0: 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 73 win/Makefile.ms deb0: 63 20 6f 75 74 70 75 74 0a 23 23 23 23 23 23 23 c output.####### dec0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ ded0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ dee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ def0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df00: 23 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 #######.######## df10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df50: 23 23 23 23 23 23 0a 23 23 23 23 23 23 23 23 23 ######.######### df60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ df90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################ dfa0: 23 23 23 23 23 0a 23 20 42 65 67 69 6e 20 77 69 #####.# Begin wi dfb0: 6e 2f 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 n/Makefile.Pelle dfc0: 73 43 47 4d 61 6b 65 20 6f 75 74 70 75 74 0a 23 sCGMake output.# dfd0: 0a 70 75 74 73 20 22 62 75 69 6c 64 69 6e 67 20 .puts "building dfe0: 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e ../win/Makefile. dff0: 50 65 6c 6c 65 73 43 47 4d 61 6b 65 22 0a 73 65 PellesCGMake".se e000: 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f t output_file [o e010: 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 pen ../win/Makef e020: 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65 ile.PellesCGMake e030: 20 77 5d 0a 66 63 6f 6e 66 69 67 75 72 65 20 24 w].fconfigure$
e040: 6f 75 74 70 75 74 5f 66 69 6c 65 20 2d 74 72 61  output_file -tra
e050: 6e 73 6c 61 74 69 6f 6e 20 62 69 6e 61 72 79 0a  nslation binary.
e060: 0a 77 72 69 74 65 6c 6e 20 5b 73 74 72 69 6e 67  .writeln [string
e070: 20 6d 61 70 20 5b 6c 69 73 74 20 5c 0a 20 20 20   map [list \.
e080: 20 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54 49 4f   <<<SQLITE_OPTIO
e090: 4e 53 3e 3e 3e 20 5b 6a 6f 69 6e 20 24 53 51 4c  NS>>> [join $SQL e0a0: 49 54 45 5f 57 49 4e 33 32 5f 4f 50 54 49 4f 4e ITE_WIN32_OPTION e0b0: 53 20 7b 20 7d 5d 20 5c 0a 20 20 20 20 3c 3c 3c S { }] \. <<< e0c0: 53 48 45 4c 4c 5f 4f 50 54 49 4f 4e 53 3e 3e 3e SHELL_OPTIONS>>> e0d0: 20 5b 6a 6f 69 6e 20 24 53 48 45 4c 4c 5f 57 49 [join$SHELL_WI
e0e0: 4e 33 32 5f 4f 50 54 49 4f 4e 53 20 7b 20 7d 5d  N32_OPTIONS { }]
e0f0: 5d 20 7b 23 0a 23 23 23 23 23 23 23 23 23 23 23  ] {#.###########
e100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e110: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e120: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e130: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e140: 23 23 23 0a 23 20 57 41 52 4e 49 4e 47 3a 20 44  ###.# WARNING: D
e150: 4f 20 4e 4f 54 20 45 44 49 54 2c 20 41 55 54 4f  O NOT EDIT, AUTO
e160: 4d 41 54 49 43 41 4c 4c 59 20 47 45 4e 45 52 41  MATICALLY GENERA
e170: 54 45 44 20 46 49 4c 45 20 28 53 45 45 20 22 73  TED FILE (SEE "s
e180: 72 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22  rc/makemake.tcl"
e190: 29 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ).##############
e1a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
e1e0: 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69  .#.# This file i
e1f0: 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  s automatically
e200: 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74  generated.  Inst
e210: 65 61 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74  ead of editing t
e220: 68 69 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74  his.# file, edit
e230: 20 22 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20   "makemake.tcl"
e240: 74 68 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20  then run "tclsh
e250: 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20  makemake.tcl".#
e260: 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68  to regenerate th
e270: 69 73 20 66 69 6c 65 2e 0a 23 0a 23 20 48 6f 77  is file..#.# How
e280: 54 6f 0a 23 20 2d 2d 2d 2d 2d 0a 23 0a 23 20 54  To.# -----.#.# T
e290: 68 69 73 20 69 73 20 61 20 4d 61 6b 65 66 69 6c  his is a Makefil
e2a0: 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20 66 6f 73  e to compile fos
e2b0: 73 69 6c 20 77 69 74 68 20 50 65 6c 6c 65 73 43  sil with PellesC
e2c0: 20 66 72 6f 6d 0a 23 20 20 68 74 74 70 3a 2f 2f   from.#  http://
e2d0: 77 77 77 2e 73 6d 6f 72 67 61 73 62 6f 72 64 65  www.smorgasborde
e2e0: 74 2e 63 6f 6d 2f 70 65 6c 6c 65 73 63 2f 69 6e  t.com/pellesc/in
e2f0: 64 65 78 2e 68 74 6d 0a 23 20 49 6e 20 61 64 64  dex.htm.# In add
e300: 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 43 6f 6d  ition to the Com
e310: 70 69 6c 65 72 20 65 6e 76 72 69 6f 6e 6d 65 6e  piler envrionmen
e320: 74 2c 20 79 6f 75 20 6e 65 65 64 0a 23 20 20 67  t, you need.#  g
e330: 6d 61 6b 65 20 66 72 6f 6d 20 68 74 74 70 3a 2f  make from http:/
e340: 2f 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74  /sourceforge.net
e350: 2f 70 72 6f 6a 65 63 74 73 2f 75 6e 78 75 74 69  /projects/unxuti
e360: 6c 73 2f 2c 20 50 65 6c 6c 65 73 20 6d 61 6b 65  ls/, Pelles make
e370: 20 76 65 72 73 69 6f 6e 0a 23 20 20 20 20 20 20   version.#
e380: 20 20 63 6f 75 6c 64 6e 27 74 20 68 61 6e 64 6c    couldn't handl
e390: 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 64 65  e the complex de
e3a0: 70 65 6e 64 65 6e 63 69 65 73 20 69 6e 20 74 68  pendencies in th
e3b0: 69 73 20 62 75 69 6c 64 0a 23 20 20 7a 6c 69 62  is build.#  zlib
e3c0: 20 73 6f 75 72 63 65 73 0a 23 20 54 68 65 6e 20   sources.# Then
e3d0: 79 6f 75 20 64 6f 0a 23 20 31 2e 20 63 72 65 61  you do.# 1. crea
e3e0: 74 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 50  te a directory P
e3f0: 65 6c 6c 65 73 43 20 69 6e 20 74 68 65 20 70 72  ellesC in the pr
e400: 6f 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63  oject root direc
e410: 74 6f 72 79 0a 23 20 32 2e 20 43 68 61 6e 67 65  tory.# 2. Change
e420: 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 50   the variables P
e430: 65 6c 6c 65 73 43 44 69 72 2f 5a 4c 49 42 53 52  ellesCDir/ZLIBSR
e440: 43 44 49 52 20 74 6f 20 74 68 65 20 70 61 74 68  CDIR to the path
e450: 20 6f 66 20 79 6f 75 72 20 69 6e 73 74 61 6c 6c   of your install
e460: 61 74 69 6f 6e 0a 23 20 33 2e 20 6f 70 65 6e 20  ation.# 3. open
e470: 61 20 64 6f 73 20 70 72 6f 6d 70 74 20 77 69 6e  a dos prompt win
e480: 64 6f 77 20 61 6e 64 20 63 68 61 6e 67 65 20 77  dow and change w
e490: 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79  orking directory
e4a0: 20 69 6e 74 6f 20 50 65 6c 6c 65 73 43 20 28 73   into PellesC (s
e4b0: 74 65 70 20 31 29 0a 23 20 34 2e 20 72 75 6e 20  tep 1).# 4. run
e4c0: 67 6d 61 6b 65 20 2d 66 20 2e 2e 5c 77 69 6e 5c  gmake -f ..\win\
e4d0: 4d 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43  Makefile.PellesC
e4e0: 47 4d 61 6b 65 0a 23 0a 23 20 74 68 69 73 20 66  GMake.#.# this f
e4f0: 69 6c 65 20 69 73 20 74 65 73 74 65 64 20 77 69  ile is tested wi
e500: 74 68 0a 23 20 20 20 50 65 6c 6c 65 73 43 20 20  th.#   PellesC
e510: 20 20 20 20 20 20 20 35 2e 30 30 2e 31 33 0a 23         5.00.13.#
e520: 20 20 20 67 6d 61 6b 65 20 20 20 20 20 20 20 20     gmake
e530: 20 20 20 33 2e 38 30 0a 23 20 20 20 7a 6c 69 62     3.80.#   zlib
e540: 20 73 6f 75 72 63 65 73 20 20 20 20 31 2e 32 2e   sources    1.2.
e550: 35 0a 23 20 20 20 57 69 6e 64 6f 77 73 20 58 50  5.#   Windows XP
e560: 20 53 50 20 32 0a 23 20 61 6e 64 0a 23 20 20 20   SP 2.# and.#
e570: 50 65 6c 6c 65 73 43 20 20 20 20 20 20 20 20 20  PellesC
e580: 36 2e 30 30 2e 34 0a 23 20 20 20 67 6d 61 6b 65  6.00.4.#   gmake
e590: 20 20 20 20 20 20 20 20 20 20 20 33 2e 38 30 0a             3.80.
e5a0: 23 20 20 20 7a 6c 69 62 20 73 6f 75 72 63 65 73  #   zlib sources
e5b0: 20 20 20 20 31 2e 32 2e 35 0a 23 20 20 20 57 69      1.2.5.#   Wi
e5c0: 6e 64 6f 77 73 20 37 20 48 6f 6d 65 20 50 72 65  ndows 7 Home Pre
e5d0: 6d 69 75 6d 0a 23 0a 0a 23 0a 50 65 6c 6c 65 73  mium.#..#.Pelles
e5e0: 43 44 69 72 3d 63 3a 5c 50 72 6f 67 72 61 6d 6d  CDir=c:\Programm
e5f0: 65 5c 50 65 6c 6c 65 73 43 0a 0a 23 20 53 65 6c  e\PellesC..# Sel
e600: 65 63 74 20 62 65 74 77 65 65 6e 20 33 32 2f 36  ect between 32/6
e610: 34 20 62 69 74 20 63 6f 64 65 2c 20 64 65 66 61  4 bit code, defa
e620: 75 6c 74 20 69 73 20 33 32 20 62 69 74 0a 23 54  ult is 32 bit.#T
e630: 41 52 47 45 54 56 45 52 53 49 4f 4e 3d 36 34 0a  ARGETVERSION=64.
e640: 0a 69 66 65 71 20 28 24 28 54 41 52 47 45 54 56  .ifeq ($(TARGETV e650: 45 52 53 49 4f 4e 29 2c 36 34 29 0a 23 20 36 34 ERSION),64).# 64 e660: 20 62 69 74 20 76 65 72 73 69 6f 6e 0a 54 41 52 bit version.TAR e670: 47 45 54 4d 41 43 48 49 4e 45 5f 43 43 3d 61 6d GETMACHINE_CC=am e680: 64 36 34 0a 54 41 52 47 45 54 4d 41 43 48 49 4e d64.TARGETMACHIN e690: 45 5f 4c 4e 3d 61 6d 64 36 34 0a 54 41 52 47 45 E_LN=amd64.TARGE e6a0: 54 45 58 54 45 4e 44 3d 36 34 0a 65 6c 73 65 0a TEXTEND=64.else. e6b0: 23 20 33 32 20 62 69 74 20 76 65 72 73 69 6f 6e # 32 bit version e6c0: 0a 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 43 .TARGETMACHINE_C e6d0: 43 3d 78 38 36 0a 54 41 52 47 45 54 4d 41 43 48 C=x86.TARGETMACH e6e0: 49 4e 45 5f 4c 4e 3d 69 78 38 36 0a 54 41 52 47 INE_LN=ix86.TARG e6f0: 45 54 45 58 54 45 4e 44 3d 0a 65 6e 64 69 66 0a ETEXTEND=.endif. e700: 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 70 72 .# define the pr e710: 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 69 65 oject directorie e720: 73 0a 42 3d 2e 2e 0a 53 52 43 44 49 52 3d 24 28 s.B=...SRCDIR=$(
e730: 42 29 2f 73 72 63 2f 0a 57 49 4e 44 49 52 3d 24  B)/src/.WINDIR=$e740: 28 42 29 2f 77 69 6e 2f 0a 5a 4c 49 42 53 52 43 (B)/win/.ZLIBSRC e750: 44 49 52 3d 2e 2e 2f 2e 2e 2f 7a 6c 69 62 2f 0a DIR=../../zlib/. e760: 0a 23 20 64 65 66 69 6e 65 20 6c 69 6e 6b 65 72 .# define linker e770: 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 6f 70 74 command and opt e780: 69 6f 6e 73 0a 4c 49 4e 4b 3d 24 28 50 65 6c 6c ions.LINK=$(Pell
e790: 65 73 43 44 69 72 29 2f 62 69 6e 2f 70 6f 6c 69  esCDir)/bin/poli
e7a0: 6e 6b 2e 65 78 65 0a 4c 49 4e 4b 46 4c 41 47 53  nk.exe.LINKFLAGS
e7b0: 3d 2d 73 75 62 73 79 73 74 65 6d 3a 63 6f 6e 73  =-subsystem:cons
e7c0: 6f 6c 65 20 2d 6d 61 63 68 69 6e 65 3a 24 28 54  ole -machine:$(T e7d0: 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 4c 4e 29 ARGETMACHINE_LN) e7e0: 20 2f 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c /LIBPATH:$(Pell
e7f0: 65 73 43 44 69 72 29 5c 6c 69 62 5c 77 69 6e 24  esCDir)\lib\win$e800: 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 20 2f (TARGETEXTEND) / e810: 4c 49 42 50 41 54 48 3a 24 28 50 65 6c 6c 65 73 LIBPATH:$(Pelles
e820: 43 44 69 72 29 5c 6c 69 62 20 6b 65 72 6e 65 6c  CDir)\lib kernel
e830: 33 32 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e  32.lib advapi32.
e840: 6c 69 62 20 64 65 6c 61 79 69 6d 70 24 28 54 41  lib delayimp$(TA e850: 52 47 45 54 45 58 54 45 4e 44 29 2e 6c 69 62 20 RGETEXTEND).lib e860: 57 73 6f 63 6b 33 32 2e 6c 69 62 20 43 72 74 6d Wsock32.lib Crtm e870: 74 24 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 t$(TARGETEXTEND)
e880: 2e 6c 69 62 0a 0a 23 20 64 65 66 69 6e 65 20 73  .lib..# define s
e890: 74 61 6e 64 61 72 64 20 43 2d 63 6f 6d 70 69 6c  tandard C-compil
e8a0: 65 72 20 61 6e 64 20 66 6c 61 67 73 2c 20 75 73  er and flags, us
e8b0: 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 0a 23 20  ed to compile.#
e8c0: 74 68 65 20 66 6f 73 73 69 6c 20 62 69 6e 61 72  the fossil binar
e8d0: 79 2e 20 53 6f 6d 65 20 73 70 65 63 69 61 6c 20  y. Some special
e8e0: 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 6c 6c  definitions foll
e8f0: 6f 77 20 66 6f 72 0a 23 20 73 70 65 63 69 61 6c  ow for.# special
e900: 20 66 69 6c 65 73 20 66 6f 6c 6c 6f 77 0a 43 43   files follow.CC
e910: 3d 24 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 62  =$(PellesCDir)\b e920: 69 6e 5c 70 6f 63 63 2e 65 78 65 0a 44 45 46 49 in\pocc.exe.DEFI e930: 4e 45 53 3d 2d 44 5f 70 67 6d 70 74 72 3d 67 2e NES=-D_pgmptr=g. e940: 61 72 67 76 5b 30 5d 0a 43 43 46 4c 41 47 53 3d argv[0].CCFLAGS= e950: 2d 54 24 28 54 41 52 47 45 54 4d 41 43 48 49 4e -T$(TARGETMACHIN
e960: 45 5f 43 43 29 2d 63 6f 66 66 20 2d 4f 74 20 2d  E_CC)-coff -Ot -
e970: 57 32 20 2d 47 64 20 2d 47 6f 20 2d 5a 65 20 2d  W2 -Gd -Go -Ze -
e980: 4d 54 20 24 28 44 45 46 49 4e 45 53 29 0a 49 4e  MT $(DEFINES).IN e990: 43 4c 55 44 45 3d 2f 49 20 24 28 50 65 6c 6c 65 CLUDE=/I$(Pelle
e9a0: 73 43 44 69 72 29 5c 49 6e 63 6c 75 64 65 5c 57  sCDir)\Include\W
e9b0: 69 6e 20 2f 49 20 24 28 50 65 6c 6c 65 73 43 44  in /I $(PellesCD e9c0: 69 72 29 5c 49 6e 63 6c 75 64 65 20 2f 49 20 24 ir)\Include /I$
e9d0: 28 5a 4c 49 42 53 52 43 44 49 52 29 20 2f 49 20  (ZLIBSRCDIR) /I
e9e0: 24 28 53 52 43 44 49 52 29 0a 0a 23 20 64 65 66  $(SRCDIR)..# def e9f0: 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 ine commands for ea00: 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 77 69 building the wi ea10: 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65 20 66 ndows resource f ea20: 69 6c 65 73 0a 52 45 53 4f 55 52 43 45 3d 66 6f iles.RESOURCE=fo ea30: 73 73 69 6c 2e 72 65 73 0a 52 43 3d 24 28 50 65 ssil.res.RC=$(Pe
ea40: 6c 6c 65 73 43 44 69 72 29 5c 62 69 6e 5c 70 6f  llesCDir)\bin\po
ea50: 72 63 2e 65 78 65 0a 52 43 46 4c 41 47 53 3d 24  rc.exe.RCFLAGS=$ea60: 28 49 4e 43 4c 55 44 45 29 20 2d 44 5f 5f 50 4f (INCLUDE) -D__PO ea70: 43 43 5f 5f 3d 31 20 2d 44 5f 4d 5f 58 24 28 54 CC__=1 -D_M_X$(T
ea80: 41 52 47 45 54 56 45 52 53 49 4f 4e 29 0a 0a 23  ARGETVERSION)..#
ea90: 20 64 65 66 69 6e 65 20 74 68 65 20 73 70 65 63   define the spec
eaa0: 69 61 6c 20 75 74 69 6c 69 74 69 65 73 20 66 69  ial utilities fi
eab0: 6c 65 73 2c 20 6e 65 65 64 65 64 20 74 6f 20 67  les, needed to g
eac0: 65 6e 65 72 61 74 65 0a 23 20 74 68 65 20 61 75  enerate.# the au
ead0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65  tomatically gene
eae0: 72 61 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c  rated source fil
eaf0: 65 73 0a 55 54 49 4c 53 3d 74 72 61 6e 73 6c 61  es.UTILS=transla
eb00: 74 65 2e 65 78 65 20 6d 6b 69 6e 64 65 78 2e 65  te.exe mkindex.e
eb10: 78 65 20 6d 61 6b 65 68 65 61 64 65 72 73 2e 65  xe makeheaders.e
eb20: 78 65 20 6d 6b 62 75 69 6c 74 69 6e 2e 65 78 65  xe mkbuiltin.exe
eb30: 0a 55 54 49 4c 53 5f 4f 42 4a 3d 24 28 55 54 49  .UTILS_OBJ=$(UTI eb40: 4c 53 3a 2e 65 78 65 3d 2e 6f 62 6a 29 0a 55 54 LS:.exe=.obj).UT eb50: 49 4c 53 5f 53 52 43 3d 24 28 66 6f 72 65 61 63 ILS_SRC=$(foreac
eb60: 68 20 75 66 2c 24 28 55 54 49 4c 53 29 2c 24 28  h uf,$(UTILS),$(
eb70: 53 52 43 44 49 52 29 24 28 75 66 3a 2e 65 78 65  SRCDIR)$(uf:.exe eb80: 3d 2e 63 29 29 0a 0a 23 20 64 65 66 69 6e 65 20 =.c))..# define eb90: 74 68 65 20 53 51 4c 69 74 65 20 66 69 6c 65 73 the SQLite files eba0: 2c 20 77 68 69 63 68 20 6e 65 65 64 20 73 70 65 , which need spe ebb0: 63 69 61 6c 20 66 6c 61 67 73 20 6f 6e 20 63 6f cial flags on co ebc0: 6d 70 69 6c 65 0a 53 51 4c 49 54 45 53 52 43 3d mpile.SQLITESRC= ebd0: 73 71 6c 69 74 65 33 2e 63 0a 4f 52 49 47 53 51 sqlite3.c.ORIGSQ ebe0: 4c 49 54 45 53 52 43 3d 24 28 66 6f 72 65 61 63 LITESRC=$(foreac
ebf0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 52 43  h sf,$(SQLITESRC ec00: 29 2c 24 28 53 52 43 44 49 52 29 24 28 73 66 29 ),$(SRCDIR)$(sf) ec10: 29 0a 53 51 4c 49 54 45 4f 42 4a 3d 24 28 66 6f ).SQLITEOBJ=$(fo
ec20: 72 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49 54  reach sf,$(SQLIT ec30: 45 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f ESRC),$(sf:.c=.o
ec40: 62 6a 29 29 0a 53 51 4c 49 54 45 44 45 46 49 4e  bj)).SQLITEDEFIN
ec50: 45 53 3d 3c 3c 3c 53 51 4c 49 54 45 5f 4f 50 54  ES=<<<SQLITE_OPT
ec60: 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65 66 69 6e  IONS>>>..# defin
ec70: 65 20 74 68 65 20 53 51 4c 69 74 65 20 73 68 65  e the SQLite she
ec80: 6c 6c 20 66 69 6c 65 73 2c 20 77 68 69 63 68 20  ll files, which
ec90: 6e 65 65 64 20 73 70 65 63 69 61 6c 20 66 6c 61  need special fla
eca0: 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 0a 53 51  gs on compile.SQ
ecb0: 4c 49 54 45 53 48 45 4c 4c 53 52 43 3d 73 68 65  LITESHELLSRC=she
ecc0: 6c 6c 2e 63 0a 4f 52 49 47 53 51 4c 49 54 45 53  ll.c.ORIGSQLITES
ecd0: 48 45 4c 4c 53 52 43 3d 24 28 66 6f 72 65 61 63  HELLSRC=$(foreac ece0: 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 h sf,$(SQLITESHE
ecf0: 4c 4c 53 52 43 29 2c 24 28 53 52 43 44 49 52 29  LLSRC),$(SRCDIR) ed00: 24 28 73 66 29 29 0a 53 51 4c 49 54 45 53 48 45$(sf)).SQLITESHE
ed10: 4c 4c 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68 20  LLOBJ=$(foreach ed20: 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 4c 4c sf,$(SQLITESHELL
ed30: 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62  SRC),$(sf:.c=.ob ed40: 6a 29 29 0a 53 51 4c 49 54 45 53 48 45 4c 4c 44 j)).SQLITESHELLD ed50: 45 46 49 4e 45 53 3d 3c 3c 3c 53 48 45 4c 4c 5f EFINES=<<<SHELL_ ed60: 4f 50 54 49 4f 4e 53 3e 3e 3e 0a 0a 23 20 64 65 OPTIONS>>>..# de ed70: 66 69 6e 65 20 74 68 65 20 74 68 20 73 63 72 69 fine the th scri ed80: 70 74 69 6e 67 20 66 69 6c 65 73 2c 20 77 68 69 pting files, whi ed90: 63 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20 ch need special eda0: 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 flags on compile edb0: 0a 54 48 53 52 43 3d 74 68 2e 63 20 74 68 5f 6c .THSRC=th.c th_l edc0: 61 6e 67 2e 63 0a 4f 52 49 47 54 48 53 52 43 3d ang.c.ORIGTHSRC= edd0: 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28 54$(foreach sf,$(T ede0: 48 53 52 43 29 2c 24 28 53 52 43 44 49 52 29 24 HSRC),$(SRCDIR)$edf0: 28 73 66 29 29 0a 54 48 4f 42 4a 3d 24 28 66 6f (sf)).THOBJ=$(fo
ee00: 72 65 61 63 68 20 73 66 2c 24 28 54 48 53 52 43  reach sf,$(THSRC ee10: 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 ),$(sf:.c=.obj))
ee20: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 7a  ..# define the z
ee30: 6c 69 62 20 66 69 6c 65 73 2c 20 6e 65 65 64 65  lib files, neede
ee40: 64 20 62 79 20 74 68 69 73 20 63 6f 6d 70 69 6c  d by this compil
ee50: 65 0a 5a 4c 49 42 53 52 43 3d 61 64 6c 65 72 33  e.ZLIBSRC=adler3
ee60: 32 2e 63 20 63 6f 6d 70 72 65 73 73 2e 63 20 63  2.c compress.c c
ee70: 72 63 33 32 2e 63 20 64 65 66 6c 61 74 65 2e 63  rc32.c deflate.c
ee80: 20 67 7a 63 6c 6f 73 65 2e 63 20 67 7a 6c 69 62   gzclose.c gzlib
ee90: 2e 63 20 67 7a 72 65 61 64 2e 63 20 67 7a 77 72  .c gzread.c gzwr
eea0: 69 74 65 2e 63 20 69 6e 66 62 61 63 6b 2e 63 20  ite.c infback.c
eeb0: 69 6e 66 66 61 73 74 2e 63 20 69 6e 66 6c 61 74  inffast.c inflat
eec0: 65 2e 63 20 69 6e 66 74 72 65 65 73 2e 63 20 74  e.c inftrees.c t
eed0: 72 65 65 73 2e 63 20 75 6e 63 6f 6d 70 72 2e 63  rees.c uncompr.c
eee0: 20 7a 75 74 69 6c 2e 63 0a 4f 52 49 47 5a 4c 49   zutil.c.ORIGZLI
eef0: 42 53 52 43 3d 24 28 66 6f 72 65 61 63 68 20 73  BSRC=$(foreach s ef00: 66 2c 24 28 5a 4c 49 42 53 52 43 29 2c 24 28 5a f,$(ZLIBSRC),$(Z ef10: 4c 49 42 53 52 43 44 49 52 29 24 28 73 66 29 29 LIBSRCDIR)$(sf))
ef20: 0a 5a 4c 49 42 4f 42 4a 3d 24 28 66 6f 72 65 61  .ZLIBOBJ=$(forea ef30: 63 68 20 73 66 2c 24 28 5a 4c 49 42 53 52 43 29 ch sf,$(ZLIBSRC)
ef40: 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29 0a  ,$(sf:.c=.obj)). ef50: 0a 23 20 64 65 66 69 6e 65 20 61 6c 6c 20 66 6f .# define all fo ef60: 73 73 69 6c 20 73 6f 75 72 63 65 73 2c 20 75 73 ssil sources, us ef70: 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 ing the standard ef80: 20 63 6f 6d 70 69 6c 65 20 61 6e 64 0a 23 20 73 compile and.# s ef90: 6f 75 72 63 65 20 67 65 6e 65 72 61 74 69 6f 6e ource generation efa0: 2e 20 54 68 65 73 65 20 61 72 65 20 61 6c 6c 20 . These are all efb0: 66 69 6c 65 73 20 69 6e 20 53 52 43 44 49 52 2c files in SRCDIR, efc0: 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 0a 23 which are not.# efd0: 20 6d 65 6e 74 69 6f 6e 65 64 20 61 73 20 73 70 mentioned as sp efe0: 65 63 69 61 6c 20 66 69 6c 65 73 20 61 62 6f 76 ecial files abov eff0: 65 3a 0a 4f 52 49 47 53 52 43 3d 24 28 66 69 6c e:.ORIGSRC=$(fil
f000: 74 65 72 2d 6f 75 74 20 24 28 55 54 49 4c 53 5f  ter-out $(UTILS_ f010: 53 52 43 29 20 24 28 4f 52 49 47 54 48 53 52 43 SRC)$(ORIGTHSRC
f020: 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53 52  ) $(ORIGSQLITESR f030: 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53 C)$(ORIGSQLITES
f040: 48 45 4c 4c 53 52 43 29 2c 24 28 77 69 6c 64 63  HELLSRC),$(wildc f050: 61 72 64 20 24 28 53 52 43 44 49 52 29 2a 2e 63 ard$(SRCDIR)*.c
f060: 29 29 0a 53 52 43 3d 24 28 73 75 62 73 74 20 24  )).SRC=$(subst$
f070: 28 53 52 43 44 49 52 29 2c 2c 24 28 4f 52 49 47  (SRCDIR),,$(ORIG f080: 53 52 43 29 29 0a 54 52 41 4e 53 4c 41 54 45 44 SRC)).TRANSLATED f090: 53 52 43 3d 24 28 53 52 43 3a 2e 63 3d 5f 2e 63 SRC=$(SRC:.c=_.c
f0a0: 29 0a 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 3d  ).TRANSLATEDOBJ=
f0b0: 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43 3a  $(TRANSLATEDSRC: f0c0: 2e 63 3d 2e 6f 62 6a 29 0a 0a 23 20 6d 61 69 6e .c=.obj)..# main f0d0: 20 74 61 72 67 65 74 20 66 69 6c 65 20 69 73 20 target file is f0e0: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a the application. f0f0: 41 50 50 4c 49 43 41 54 49 4f 4e 3d 66 6f 73 73 APPLICATION=foss f100: 69 6c 2e 65 78 65 0a 0a 23 20 64 65 66 69 6e 65 il.exe..# define f110: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6d 61 the standard ma f120: 6b 65 20 74 61 72 67 65 74 0a 2e 50 48 4f 4e 59 ke target..PHONY f130: 3a 09 64 65 66 61 75 6c 74 0a 64 65 66 61 75 6c :.default.defaul f140: 74 3a 09 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 t:.page_index.h f150: 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e 68 20 68 builtin_data.h h f160: 65 61 64 65 72 73 20 24 28 41 50 50 4c 49 43 41 eaders$(APPLICA
f170: 54 49 4f 4e 29 0a 0a 23 20 73 79 6d 62 6f 6c 69  TION)..# symboli
f180: 63 20 74 61 72 67 65 74 20 74 6f 20 67 65 6e 65  c target to gene
f190: 72 61 74 65 20 74 68 65 20 73 6f 75 72 63 65 20  rate the source
f1a0: 67 65 6e 65 72 61 74 65 20 75 74 69 6c 73 0a 2e  generate utils..
f1b0: 50 48 4f 4e 59 3a 09 75 74 69 6c 73 0a 75 74 69  PHONY:.utils.uti
f1c0: 6c 73 3a 09 24 28 55 54 49 4c 53 29 0a 0a 23 20  ls:.$(UTILS)..# f1d0: 6c 69 6e 6b 20 75 74 69 6c 73 0a 24 28 55 54 49 link utils.$(UTI
f1e0: 4c 53 29 20 76 65 72 73 69 6f 6e 2e 65 78 65 3a  LS) version.exe:
f1f0: 09 25 2e 65 78 65 3a 09 25 2e 6f 62 6a 0a 09 24  .%.exe:.%.obj..$f200: 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b 46 4c 41 (LINK)$(LINKFLA
f210: 47 53 29 20 2d 6f 75 74 3a 22 24 40 22 20 24 3c  GS) -out:"$@"$<
f220: 0a 0a 23 20 63 6f 6d 70 69 6c 69 6e 67 20 73 74  ..# compiling st
f230: 61 6e 64 61 72 64 20 66 6f 73 73 69 6c 20 75 74  andard fossil ut
f240: 69 6c 73 0a 24 28 55 54 49 4c 53 5f 4f 42 4a 29  ils.$(UTILS_OBJ) f250: 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44 49 :.%.obj:.$(SRCDI
f260: 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24 28 43  R)%.c..$(CC)$(C
f270: 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44  CFLAGS) $(INCLUD f280: 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a E) "$<" -Fo"$@". f290: 0a 23 20 63 6f 6d 70 69 6c 65 20 73 70 65 63 69 .# compile speci f2a0: 61 6c 20 77 69 6e 64 6f 77 73 20 75 74 69 6c 73 al windows utils f2b0: 0a 76 65 72 73 69 6f 6e 2e 6f 62 6a 3a 09 24 28 .version.obj:.$(
f2c0: 53 52 43 44 49 52 29 6d 6b 76 65 72 73 69 6f 6e  SRCDIR)mkversion
f2d0: 2e 63 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c  .c..$(CC)$(CCFL
f2e0: 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20  AGS) $(INCLUDE) f2f0: 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20 "$<" -Fo"$@"..# f300: 67 65 6e 65 72 61 74 65 20 74 68 65 20 74 72 61 generate the tra f310: 6e 73 6c 61 74 65 64 20 63 2d 73 6f 75 72 63 65 nslated c-source f320: 20 66 69 6c 65 73 0a 24 28 54 52 41 4e 53 4c 41 files.$(TRANSLA
f330: 54 45 44 53 52 43 29 3a 09 25 5f 2e 63 3a 09 24  TEDSRC):.%_.c:.$f340: 28 53 52 43 44 49 52 29 25 2e 63 20 74 72 61 6e (SRCDIR)%.c tran f350: 73 6c 61 74 65 2e 65 78 65 0a 09 74 72 61 6e 73 slate.exe..trans f360: 6c 61 74 65 2e 65 78 65 20 24 3c 20 3e 24 40 0a late.exe$< >$@. f370: 0a 23 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 .# generate the f380: 69 6e 64 65 78 20 73 6f 75 72 63 65 2c 20 63 6f index source, co f390: 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 77 65 62 ntaining all web f3a0: 20 72 65 66 65 72 65 6e 63 65 73 2c 2e 2e 0a 70 references,...p f3b0: 61 67 65 5f 69 6e 64 65 78 2e 68 3a 09 24 28 54 age_index.h:.$(T
f3c0: 52 41 4e 53 4c 41 54 45 44 53 52 43 29 20 6d 6b  RANSLATEDSRC) mk
f3d0: 69 6e 64 65 78 2e 65 78 65 0a 09 6d 6b 69 6e 64  index.exe..mkind
f3e0: 65 78 2e 65 78 65 20 24 28 54 52 41 4e 53 4c 41  ex.exe $(TRANSLA f3f0: 54 45 44 53 52 43 29 20 3e 24 40 0a 0a 62 75 69 TEDSRC) >$@..bui
f400: 6c 74 69 6e 5f 64 61 74 61 2e 68 3a 09 24 28 45  ltin_data.h:.$(E f410: 58 54 52 41 5f 46 49 4c 45 53 29 20 6d 6b 62 75 XTRA_FILES) mkbu f420: 69 6c 74 69 6e 2e 65 78 65 0a 09 6d 6b 62 75 69 iltin.exe..mkbui f430: 6c 74 69 6e 2e 65 78 65 20 2d 2d 70 72 65 66 69 ltin.exe --prefi f440: 78 20 24 28 53 52 43 44 49 52 29 2f 20 24 28 45 x$(SRCDIR)/ $(E f450: 58 54 52 41 5f 46 49 4c 45 53 29 20 3e 24 40 0a XTRA_FILES) >$@.
f460: 0a 23 20 65 78 74 72 61 63 74 69 6e 67 20 76 65  .# extracting ve
f470: 72 73 69 6f 6e 20 69 6e 66 6f 20 66 72 6f 6d 20  rsion info from
f480: 6d 61 6e 69 66 65 73 74 0a 56 45 52 53 49 4f 4e  manifest.VERSION
f490: 2e 68 3a 09 76 65 72 73 69 6f 6e 2e 65 78 65 20  .h:.version.exe
f4a0: 2e 2e 5c 6d 61 6e 69 66 65 73 74 2e 75 75 69 64  ..\manifest.uuid
f4b0: 20 2e 2e 5c 6d 61 6e 69 66 65 73 74 20 2e 2e 5c   ..\manifest ..\
f4c0: 56 45 52 53 49 4f 4e 0a 09 76 65 72 73 69 6f 6e  VERSION..version
f4d0: 2e 65 78 65 20 2e 2e 5c 6d 61 6e 69 66 65 73 74  .exe ..\manifest
f4e0: 2e 75 75 69 64 20 2e 2e 5c 6d 61 6e 69 66 65 73  .uuid ..\manifes
f4f0: 74 20 2e 2e 5c 56 45 52 53 49 4f 4e 20 20 3e 24  t ..\VERSION  >$f500: 40 0a 0a 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 @..default_css.h f510: 3a 09 6d 6b 63 73 73 2e 65 78 65 20 64 65 66 61 :.mkcss.exe defa f520: 75 6c 74 5f 63 73 73 2e 74 78 74 0a 09 6d 6b 63 ult_css.txt..mkc f530: 73 73 2e 65 78 65 20 64 65 66 61 75 6c 74 5f 63 ss.exe default_c f540: 73 73 2e 74 78 74 20 24 40 0a 0a 23 20 67 65 6e ss.txt$@..# gen
f550: 65 72 61 74 65 20 74 68 65 20 73 69 6d 70 6c 69  erate the simpli
f560: 66 69 65 64 20 68 65 61 64 65 72 73 0a 68 65 61  fied headers.hea
f570: 64 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72  ders: makeheader
f580: 73 2e 65 78 65 20 70 61 67 65 5f 69 6e 64 65 78  s.exe page_index
f590: 2e 68 20 62 75 69 6c 74 69 6e 5f 64 61 74 61 2e  .h builtin_data.
f5a0: 68 20 64 65 66 61 75 6c 74 5f 63 73 73 2e 68 20  h default_css.h
f5b0: 56 45 52 53 49 4f 4e 2e 68 20 2e 2e 2f 73 72 63  VERSION.h ../src
f5c0: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72  /sqlite3.h ../sr
f5d0: 63 2f 74 68 2e 68 0a 09 6d 61 6b 65 68 65 61 64  c/th.h..makehead
f5e0: 65 72 73 2e 65 78 65 20 24 28 66 6f 72 65 61 63  ers.exe $(foreac f5f0: 68 20 74 73 2c 24 28 54 52 41 4e 53 4c 41 54 45 h ts,$(TRANSLATE
f600: 44 53 52 43 29 2c 24 28 74 73 29 3a 24 28 74 73  DSRC),$(ts):$(ts
f610: 3a 5f 2e 63 3d 2e 68 29 29 20 2e 2e 2f 73 72 63  :_.c=.h)) ../src
f620: 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f 73 72  /sqlite3.h ../sr
f630: 63 2f 74 68 2e 68 20 56 45 52 53 49 4f 4e 2e 68  c/th.h VERSION.h
f640: 0a 09 65 63 68 6f 20 44 6f 6e 65 20 3e 24 40 0a  ..echo Done >$@. f650: 0a 23 20 63 6f 6d 70 69 6c 65 20 43 20 73 6f 75 .# compile C sou f660: 72 63 65 73 20 77 69 74 68 20 72 65 6c 65 76 61 rces with releva f670: 6e 74 20 6f 70 74 69 6f 6e 73 0a 0a 24 28 54 52 nt options..$(TR
f680: 41 4e 53 4c 41 54 45 44 4f 42 4a 29 3a 09 25 5f  ANSLATEDOBJ):.%_
f690: 2e 6f 62 6a 3a 09 25 5f 2e 63 20 25 2e 68 0a 09  .obj:.%_.c %.h..
f6a0: 24 28 43 43 29 20 24 28 43 43 46 4c 41 47 53 29  $(CC)$(CCFLAGS)
f6b0: 20 24 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22   $(INCLUDE) "$<"
f6c0: 20 2d 46 6f 22 24 40 22 0a 0a 24 28 53 51 4c 49   -Fo"$@"..$(SQLI
f6d0: 54 45 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24  TEOBJ):.%.obj:.$f6e0: 28 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52 (SRCDIR)%.c$(SR
f6f0: 43 44 49 52 29 25 2e 68 0a 09 24 28 43 43 29 20  CDIR)%.h..$(CC) f700: 24 28 43 43 46 4c 41 47 53 29 20 24 28 53 51 4c$(CCFLAGS) $(SQL f710: 49 54 45 44 45 46 49 4e 45 53 29 20 24 28 49 4e ITEDEFINES)$(IN
f720: 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22  CLUDE) "$<" -Fo" f730: 24 40 22 0a 0a 24 28 53 51 4c 49 54 45 53 48 45$@"..$(SQLITESHE f740: 4c 4c 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 LLOBJ):.%.obj:.$
f750: 28 53 52 43 44 49 52 29 25 2e 63 0a 09 24 28 43  (SRCDIR)%.c..$(C f760: 43 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28 C)$(CCFLAGS) $( f770: 53 51 4c 49 54 45 53 48 45 4c 4c 44 45 46 49 4e SQLITESHELLDEFIN f780: 45 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20 22 ES)$(INCLUDE) "
f790: 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 24 28 54  $<" -Fo"$@"..$(T f7a0: 48 4f 42 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 HOBJ):.%.obj:.$(
f7b0: 53 52 43 44 49 52 29 25 2e 63 20 24 28 53 52 43  SRCDIR)%.c $(SRC f7c0: 44 49 52 29 74 68 2e 68 0a 09 24 28 43 43 29 20 DIR)th.h..$(CC)
f7d0: 24 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43  $(CCFLAGS)$(INC
f7e0: 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24  LUDE) "$<" -Fo"$
f7f0: 40 22 0a 0a 24 28 5a 4c 49 42 4f 42 4a 29 3a 09  @"..$(ZLIBOBJ):. f800: 25 2e 6f 62 6a 3a 09 24 28 5a 4c 49 42 53 52 43 %.obj:.$(ZLIBSRC
f810: 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24  DIR)%.c..$(CC)$
f820: 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c  (CCFLAGS) $(INCL f830: 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 UDE) "$<" -Fo"$@ f840: 22 0a 0a 23 20 63 72 65 61 74 65 20 74 68 65 20 "..# create the f850: 77 69 6e 64 6f 77 73 20 72 65 73 6f 75 72 63 65 windows resource f860: 20 77 69 74 68 20 69 63 6f 6e 20 61 6e 64 20 76 with icon and v f870: 65 72 73 69 6f 6e 20 69 6e 66 6f 0a 24 28 52 45 ersion info.$(RE
f880: 53 4f 55 52 43 45 29 3a 09 25 2e 72 65 73 3a 09  SOURCE):.%.res:.
f890: 2e 2e 2f 77 69 6e 2f 25 2e 72 63 20 2e 2e 2f 77  ../win/%.rc ../w
f8a0: 69 6e 2f 2a 2e 69 63 6f 0a 09 24 28 52 43 29 20  in/*.ico..$(RC) f8b0: 24 28 52 43 46 4c 41 47 53 29 20 24 3c 20 2d 46$(RCFLAGS) $< -F f8c0: 6f 22 24 40 22 0a 0a 23 20 6c 69 6e 6b 20 74 68 o"$@"..# link th
f8d0: 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 24 28  e application.$( f8e0: 41 50 50 4c 49 43 41 54 49 4f 4e 29 3a 09 24 28 APPLICATION):.$(
f8f0: 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20 24  TRANSLATEDOBJ) $f900: 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 53 51 (SQLITEOBJ)$(SQ
f910: 4c 49 54 45 53 48 45 4c 4c 4f 42 4a 29 20 24 28  LITESHELLOBJ) $( f920: 54 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a THOBJ)$(ZLIBOBJ
f930: 29 20 68 65 61 64 65 72 73 20 24 28 52 45 53 4f  ) headers $(RESO f940: 55 52 43 45 29 0a 09 24 28 4c 49 4e 4b 29 20 24 URCE)..$(LINK) $f950: 28 4c 49 4e 4b 46 4c 41 47 53 29 20 2d 6f 75 74 (LINKFLAGS) -out f960: 3a 22 24 40 22 20 24 28 54 52 41 4e 53 4c 41 54 :"$@" $(TRANSLAT f970: 45 44 4f 42 4a 29 20 24 28 53 51 4c 49 54 45 4f EDOBJ)$(SQLITEO
f980: 42 4a 29 20 24 28 53 51 4c 49 54 45 53 48 45 4c  BJ) $(SQLITESHEL f990: 4c 4f 42 4a 29 20 24 28 54 48 4f 42 4a 29 20 24 LOBJ)$(THOBJ) $f9a0: 28 5a 4c 49 42 4f 42 4a 29 20 24 28 52 45 53 4f (ZLIBOBJ)$(RESO
f9b0: 55 52 43 45 29 0a 0a 23 20 63 6c 65 61 6e 75 70  URCE)..# cleanup
f9c0: 0a 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 61 6e 0a  ...PHONY: clean.
f9d0: 63 6c 65 61 6e 3a 0a 09 64 65 6c 20 2f 46 20 24  clean:..del /F $f9e0: 28 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a 29 20 (TRANSLATEDOBJ) f9f0: 24 28 53 51 4c 49 54 45 4f 42 4a 29 20 24 28 54$(SQLITEOBJ) $(T fa00: 48 4f 42 4a 29 20 24 28 5a 4c 49 42 4f 42 4a 29 HOBJ)$(ZLIBOBJ)
fa10: 20 24 28 55 54 49 4c 53 5f 4f 42 4a 29 20 76 65   $(UTILS_OBJ) ve fa20: 72 73 69 6f 6e 2e 6f 62 6a 0a 09 64 65 6c 20 2f rsion.obj..del / fa30: 46 20 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 F$(TRANSLATEDSR
fa40: 43 29 0a 09 64 65 6c 20 2f 46 20 2a 2e 68 20 68  C)..del /F *.h h
fa50: 65 61 64 65 72 73 0a 09 64 65 6c 20 2f 46 20 24  eaders..del /F \$
fa60: 28 52 45 53 4f 55 52 43 45 29 0a 0a 2e 50 48 4f  (RESOURCE)...PHO
fa70: 4e 59 3a 20 63 6c 6f 62 62 65 72 0a 63 6c 6f 62  NY: clobber.clob
fa80: 62 65 72 3a 20 63 6c 65 61 6e 0a 09 64 65 6c 20  ber: clean..del
fa90: 2f 46 20 2a 2e 65 78 65 0a 7d 5d 0a              /F *.exe.}].