Fossil

Hex Artifact Content
Login

Artifact 22fc2283ab3abe1237876ced93e402d5cb5d854f:


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 43  .#.# Run this TC
0020: 4c 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 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 0a 23  #############..#
01f0: 20 42 61 73 65 6e 61 6d 65 73 20 6f 66 20 61 6c   Basenames of al
0200: 6c 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 74  l source files t
0210: 68 61 74 20 67 65 74 20 70 72 65 70 72 6f 63 65  hat get preproce
0220: 73 73 65 64 20 75 73 69 6e 67 0a 23 20 22 74 72  ssed using.# "tr
0230: 61 6e 73 6c 61 74 65 22 20 61 6e 64 20 22 6d 61  anslate" and "ma
0240: 6b 65 68 65 61 64 65 72 73 22 2e 20 20 54 6f 20  keheaders".  To 
0250: 61 64 64 20 6e 65 77 20 73 6f 75 72 63 65 20 66  add new source f
0260: 69 6c 65 73 20 74 6f 20 74 68 65 0a 23 20 70 72  iles to the.# pr
0270: 6f 6a 65 63 74 2c 20 73 69 6d 70 6c 79 20 61 64  oject, simply ad
0280: 64 20 74 68 65 20 62 61 73 65 6e 61 6d 65 20 74  d the basename t
0290: 6f 20 74 68 69 73 20 6c 69 73 74 20 61 6e 64 20  o this list and 
02a0: 72 65 72 75 6e 20 74 68 69 73 20 73 63 72 69 70  rerun this scrip
02b0: 74 2e 0a 23 0a 73 65 74 20 73 72 63 20 7b 0a 20  t..#.set src {. 
02c0: 20 61 64 64 0a 20 20 61 6c 6c 72 65 70 6f 0a 20   add.  allrepo. 
02d0: 20 61 74 74 61 63 68 0a 20 20 62 61 67 0a 20 20   attach.  bag.  
02e0: 62 69 73 65 63 74 0a 20 20 62 6c 6f 62 0a 20 20  bisect.  blob.  
02f0: 62 72 61 6e 63 68 0a 20 20 62 72 6f 77 73 65 0a  branch.  browse.
0300: 20 20 63 61 70 74 63 68 61 0a 20 20 63 67 69 0a    captcha.  cgi.
0310: 20 20 63 68 65 63 6b 69 6e 0a 20 20 63 68 65 63    checkin.  chec
0320: 6b 6f 75 74 0a 20 20 63 6c 65 61 72 73 69 67 6e  kout.  clearsign
0330: 0a 20 20 63 6c 6f 6e 65 0a 20 20 63 6f 6d 66 6f  .  clone.  comfo
0340: 72 6d 61 74 0a 20 20 63 6f 6e 66 69 67 75 72 65  rmat.  configure
0350: 0a 20 20 63 6f 6e 74 65 6e 74 0a 20 20 64 62 0a  .  content.  db.
0360: 20 20 64 65 6c 74 61 0a 20 20 64 65 6c 74 61 63    delta.  deltac
0370: 6d 64 0a 20 20 64 65 73 63 65 6e 64 61 6e 74 73  md.  descendants
0380: 0a 20 20 64 69 66 66 0a 20 20 64 69 66 66 63 6d  .  diff.  diffcm
0390: 64 0a 20 20 64 6f 63 0a 20 20 65 6e 63 6f 64 65  d.  doc.  encode
03a0: 0a 20 20 65 76 65 6e 74 0a 20 20 65 78 70 6f 72  .  event.  expor
03b0: 74 0a 20 20 66 69 6c 65 0a 20 20 66 69 6e 66 6f  t.  file.  finfo
03c0: 0a 20 20 67 6c 6f 62 0a 20 20 67 72 61 70 68 0a  .  glob.  graph.
03d0: 20 20 67 7a 69 70 0a 20 20 68 74 74 70 0a 20 20    gzip.  http.  
03e0: 68 74 74 70 5f 73 6f 63 6b 65 74 0a 20 20 68 74  http_socket.  ht
03f0: 74 70 5f 74 72 61 6e 73 70 6f 72 74 0a 20 20 69  tp_transport.  i
0400: 6d 70 6f 72 74 0a 20 20 69 6e 66 6f 0a 20 20 6c  mport.  info.  l
0410: 65 61 66 0a 20 20 6c 6f 67 69 6e 0a 20 20 6d 61  eaf.  login.  ma
0420: 69 6e 0a 20 20 6d 61 6e 69 66 65 73 74 0a 20 20  in.  manifest.  
0430: 6d 64 35 0a 20 20 6d 65 72 67 65 0a 20 20 6d 65  md5.  merge.  me
0440: 72 67 65 33 0a 20 20 6e 61 6d 65 0a 20 20 70 61  rge3.  name.  pa
0450: 74 68 0a 20 20 70 69 76 6f 74 0a 20 20 70 6f 70  th.  pivot.  pop
0460: 65 6e 0a 20 20 70 71 75 65 75 65 0a 20 20 70 72  en.  pqueue.  pr
0470: 69 6e 74 66 0a 20 20 72 65 62 75 69 6c 64 0a 20  intf.  rebuild. 
0480: 20 72 65 70 6f 72 74 0a 20 20 72 73 73 0a 20 20   report.  rss.  
0490: 73 63 68 65 6d 61 0a 20 20 73 65 61 72 63 68 0a  schema.  search.
04a0: 20 20 73 65 74 75 70 0a 20 20 73 68 61 31 0a 20    setup.  sha1. 
04b0: 20 73 68 75 6e 0a 20 20 73 6b 69 6e 73 0a 20 20   shun.  skins.  
04c0: 73 71 6c 63 6d 64 0a 20 20 73 74 61 73 68 0a 20  sqlcmd.  stash. 
04d0: 20 73 74 61 74 0a 20 20 73 74 79 6c 65 0a 20 20   stat.  style.  
04e0: 73 79 6e 63 0a 20 20 74 61 67 0a 20 20 74 61 72  sync.  tag.  tar
04f0: 0a 20 20 74 68 5f 6d 61 69 6e 0a 20 20 74 69 6d  .  th_main.  tim
0500: 65 6c 69 6e 65 0a 20 20 74 6b 74 0a 20 20 74 6b  eline.  tkt.  tk
0510: 74 73 65 74 75 70 0a 20 20 75 6e 64 6f 0a 20 20  tsetup.  undo.  
0520: 75 70 64 61 74 65 0a 20 20 75 72 6c 0a 20 20 75  update.  url.  u
0530: 73 65 72 0a 20 20 76 65 72 69 66 79 0a 20 20 76  ser.  verify.  v
0540: 66 69 6c 65 0a 20 20 77 69 6b 69 0a 20 20 77 69  file.  wiki.  wi
0550: 6b 69 66 6f 72 6d 61 74 0a 20 20 77 69 6e 68 74  kiformat.  winht
0560: 74 70 0a 20 20 78 66 65 72 0a 20 20 7a 69 70 0a  tp.  xfer.  zip.
0570: 20 20 68 74 74 70 5f 73 73 6c 0a 7d 0a 0a 23 20    http_ssl.}..# 
0580: 4e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6e 61  Name of the fina
0590: 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 23 0a  l application.#.
05a0: 73 65 74 20 6e 61 6d 65 20 66 6f 73 73 69 6c 0a  set name fossil.
05b0: 0a 23 20 54 68 65 20 22 77 72 69 74 65 6c 6e 22  .# The "writeln"
05c0: 20 63 6f 6d 6d 61 6e 64 20 73 65 6e 64 73 20 6f   command sends o
05d0: 75 74 70 75 74 20 74 6f 20 74 68 65 20 74 61 72  utput to the tar
05e0: 67 65 74 20 6d 61 6b 65 66 69 6c 65 2e 0a 23 0a  get makefile..#.
05f0: 70 72 6f 63 20 77 72 69 74 65 6c 6e 20 7b 61 72  proc writeln {ar
0600: 67 73 7d 20 7b 0a 20 20 67 6c 6f 62 61 6c 20 6f  gs} {.  global o
0610: 75 74 70 75 74 5f 66 69 6c 65 0a 20 20 69 66 20  utput_file.  if 
0620: 7b 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30  {[lindex $args 0
0630: 5d 3d 3d 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 7d  ]=="-nonewline"}
0640: 20 7b 0a 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e   {.    puts -non
0650: 65 77 6c 69 6e 65 20 24 6f 75 74 70 75 74 5f 66  ewline $output_f
0660: 69 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67  ile [lindex $arg
0670: 73 20 31 5d 0a 20 20 7d 20 65 6c 73 65 20 7b 0a  s 1].  } else {.
0680: 20 20 20 20 70 75 74 73 20 24 6f 75 74 70 75 74      puts $output
0690: 5f 66 69 6c 65 20 5b 6c 69 6e 64 65 78 20 24 61  _file [lindex $a
06a0: 72 67 73 20 30 5d 0a 20 20 7d 0a 7d 0a 0a 23 20  rgs 0].  }.}..# 
06b0: 53 54 4f 50 20 48 45 52 45 2e 0a 23 20 55 6e 6c  STOP HERE..# Unl
06c0: 65 73 73 20 74 68 65 20 62 75 69 6c 64 20 70 72  ess the build pr
06d0: 6f 63 65 64 75 72 65 73 20 63 68 61 6e 67 65 73  ocedures changes
06e0: 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74  , you should not
06f0: 20 68 61 76 65 20 74 6f 20 65 64 69 74 20 61 6e   have to edit an
0700: 79 74 68 69 6e 67 0a 23 20 62 65 6c 6f 77 20 74  ything.# below t
0710: 68 69 73 20 6c 69 6e 65 2e 0a 0a 23 23 23 23 23  his line...#####
0720: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0730: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0740: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0750: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0760: 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 23  #########.######
0770: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07b0: 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 23 23  ########.#######
07c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0800: 23 23 23 23 23 23 23 0a 23 20 53 74 61 72 74 20  #######.# Start 
0810: 62 79 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68  by generating th
0820: 65 20 22 6d 61 69 6e 2e 6d 6b 22 20 6d 61 6b 65  e "main.mk" make
0830: 66 69 6c 65 20 75 73 65 64 20 66 6f 72 20 61 6c  file used for al
0840: 6c 20 75 6e 69 78 20 73 79 73 74 65 6d 73 2e 0a  l unix systems..
0850: 23 0a 70 75 74 73 20 22 62 75 69 6c 64 69 6e 67  #.puts "building
0860: 20 6d 61 69 6e 2e 6d 6b 22 0a 73 65 74 20 6f 75   main.mk".set ou
0870: 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e 20  tput_file [open 
0880: 6d 61 69 6e 2e 6d 6b 20 77 5d 0a 66 63 6f 6e 66  main.mk w].fconf
0890: 69 67 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69  igure $output_fi
08a0: 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20  le -translation 
08b0: 62 69 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20  binary..writeln 
08c0: 7b 23 20 44 4f 20 4e 4f 54 20 45 44 49 54 0a 23  {# DO NOT EDIT.#
08d0: 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20  .# This file is 
08e0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65  automatically ge
08f0: 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61  nerated.  Instea
0900: 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74 68 69  d of editing thi
0910: 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74 20 22  s.# file, edit "
0920: 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68  makemake.tcl" th
0930: 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20 6d 61  en run "tclsh ma
0940: 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74 6f  kemake.tcl".# to
0950: 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 69 73   regenerate this
0960: 20 66 69 6c 65 2e 0a 23 0a 23 20 54 68 69 73 20   file..#.# This 
0970: 66 69 6c 65 20 69 73 20 69 6e 63 6c 75 64 65 64  file is included
0980: 20 62 79 20 70 72 69 6d 61 72 79 20 4d 61 6b 65   by primary Make
0990: 66 69 6c 65 2e 0a 23 0a 0a 58 54 43 43 20 3d 20  file..#..XTCC = 
09a0: 24 28 54 43 43 29 20 24 28 43 46 4c 41 47 53 29  $(TCC) $(CFLAGS)
09b0: 20 2d 49 2e 20 2d 49 24 28 53 52 43 44 49 52 29   -I. -I$(SRCDIR)
09c0: 0a 0a 7d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  ..}.writeln -non
09d0: 65 77 6c 69 6e 65 20 22 53 52 43 20 3d 22 0a 66  ewline "SRC =".f
09e0: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort 
09f0: 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c  $src] {.  writel
0a00: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c  n -nonewline " \
0a10: 5c 5c 6e 20 20 5c 24 28 53 52 43 44 49 52 29 2f  \\n  \$(SRCDIR)/
0a20: 24 73 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  $s.c".}.writeln 
0a30: 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f  "\n".writeln -no
0a40: 6e 65 77 6c 69 6e 65 20 22 54 52 41 4e 53 5f 53  newline "TRANS_S
0a50: 52 43 20 3d 22 0a 66 6f 72 65 61 63 68 20 73 20  RC =".foreach s 
0a60: 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20  [lsort $src] {. 
0a70: 20 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c   writeln -nonewl
0a80: 69 6e 65 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 4f  ine " \\\n  \$(O
0a90: 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 22 0a  BJDIR)/${s}_.c".
0aa0: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77  }.writeln "\n".w
0ab0: 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e  riteln -nonewlin
0ac0: 65 20 22 4f 42 4a 20 3d 22 0a 66 6f 72 65 61 63  e "OBJ =".foreac
0ad0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
0ae0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
0af0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 5c  newline " \\\n \
0b00: 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 6f 22 0a  $(OBJDIR)/$s.o".
0b10: 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e 22 0a 77  }.writeln "\n".w
0b20: 72 69 74 65 6c 6e 20 22 41 50 50 4e 41 4d 45 20  riteln "APPNAME 
0b30: 3d 20 24 6e 61 6d 65 5c 24 28 45 29 22 0a 77 72  = $name\$(E)".wr
0b40: 69 74 65 6c 6e 20 22 5c 6e 22 0a 0a 77 72 69 74  iteln "\n"..writ
0b50: 65 6c 6e 20 7b 0a 61 6c 6c 3a 09 24 28 4f 42 4a  eln {.all:.$(OBJ
0b60: 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a  DIR) $(APPNAME).
0b70: 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 41 50 50 4e  .install:.$(APPN
0b80: 41 4d 45 29 0a 09 6d 76 20 24 28 41 50 50 4e 41  AME)..mv $(APPNA
0b90: 4d 45 29 20 24 28 49 4e 53 54 41 4c 4c 44 49 52  ME) $(INSTALLDIR
0ba0: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 3a 0a 09 2d  )..$(OBJDIR):..-
0bb0: 6d 6b 64 69 72 20 24 28 4f 42 4a 44 49 52 29 0a  mkdir $(OBJDIR).
0bc0: 0a 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73  .$(OBJDIR)/trans
0bd0: 6c 61 74 65 3a 09 24 28 53 52 43 44 49 52 29 2f  late:.$(SRCDIR)/
0be0: 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 42  translate.c..$(B
0bf0: 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52 29  CC) -o $(OBJDIR)
0c00: 2f 74 72 61 6e 73 6c 61 74 65 20 24 28 53 52 43  /translate $(SRC
0c10: 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63  DIR)/translate.c
0c20: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65  ..$(OBJDIR)/make
0c30: 68 65 61 64 65 72 73 3a 09 24 28 53 52 43 44 49  headers:.$(SRCDI
0c40: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 2e 63  R)/makeheaders.c
0c50: 0a 09 24 28 42 43 43 29 20 2d 6f 20 24 28 4f 42  ..$(BCC) -o $(OB
0c60: 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72  JDIR)/makeheader
0c70: 73 20 24 28 53 52 43 44 49 52 29 2f 6d 61 6b 65  s $(SRCDIR)/make
0c80: 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4f 42 4a  headers.c..$(OBJ
0c90: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 3a 09 24 28  DIR)/mkindex:.$(
0ca0: 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78 2e  SRCDIR)/mkindex.
0cb0: 63 0a 09 24 28 42 43 43 29 20 2d 6f 20 24 28 4f  c..$(BCC) -o $(O
0cc0: 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78 20 24  BJDIR)/mkindex $
0cd0: 28 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65 78  (SRCDIR)/mkindex
0ce0: 2e 63 0a 0a 23 20 57 41 52 4e 49 4e 47 2e 20 44  .c..# WARNING. D
0cf0: 41 4e 47 45 52 2e 20 52 75 6e 6e 69 6e 67 20 74  ANGER. Running t
0d00: 68 65 20 74 65 73 74 73 75 69 74 65 20 6d 6f 64  he testsuite mod
0d10: 69 66 69 65 73 20 74 68 65 20 72 65 70 6f 73 69  ifies the reposi
0d20: 74 6f 72 79 20 74 68 65 0a 23 20 62 75 69 6c 64  tory the.# build
0d30: 20 69 73 20 64 6f 6e 65 20 66 72 6f 6d 2c 20 69   is done from, i
0d40: 2e 65 2e 20 74 68 65 20 63 68 65 63 6b 6f 75 74  .e. the checkout
0d50: 20 62 65 6c 6f 6e 67 73 20 74 6f 2e 20 44 6f 20   belongs to. Do 
0d60: 6e 6f 74 20 73 79 6e 63 2f 70 75 73 68 0a 23 20  not sync/push.# 
0d70: 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61  the repository a
0d80: 66 74 65 72 20 72 75 6e 6e 69 6e 67 20 74 68 65  fter running the
0d90: 20 74 65 73 74 73 2e 0a 74 65 73 74 3a 09 24 28   tests..test:.$(
0da0: 41 50 50 4e 41 4d 45 29 0a 09 24 28 54 43 4c 53  APPNAME)..$(TCLS
0db0: 48 29 20 74 65 73 74 2f 74 65 73 74 65 72 2e 74  H) test/tester.t
0dc0: 63 6c 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24  cl $(APPNAME)..$
0dd0: 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e  (OBJDIR)/VERSION
0de0: 2e 68 3a 09 24 28 53 52 43 44 49 52 29 2f 2e 2e  .h:.$(SRCDIR)/..
0df0: 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 24  /manifest.uuid $
0e00: 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69  (SRCDIR)/../mani
0e10: 66 65 73 74 0a 09 61 77 6b 20 27 7b 20 70 72 69  fest..awk '{ pri
0e20: 6e 74 66 20 22 23 64 65 66 69 6e 65 20 4d 41 4e  ntf "#define MAN
0e30: 49 46 45 53 54 5f 55 55 49 44 20 5c 22 25 73 5c  IFEST_UUID \"%s\
0e40: 22 5c 6e 22 2c 20 24 24 31 7d 27 20 5c 0a 09 09  "\n", $$1}' \...
0e50: 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e  $(SRCDIR)/../man
0e60: 69 66 65 73 74 2e 75 75 69 64 20 3e 24 28 4f 42  ifest.uuid >$(OB
0e70: 4a 44 49 52 29 2f 56 45 52 53 49 4f 4e 2e 68 0a  JDIR)/VERSION.h.
0e80: 09 61 77 6b 20 27 7b 20 70 72 69 6e 74 66 20 22  .awk '{ printf "
0e90: 23 64 65 66 69 6e 65 20 4d 41 4e 49 46 45 53 54  #define MANIFEST
0ea0: 5f 56 45 52 53 49 4f 4e 20 5c 22 5b 25 2e 31 30  _VERSION \"[%.10
0eb0: 73 5d 5c 22 5c 6e 22 2c 20 24 24 31 7d 27 20 5c  s]\"\n", $$1}' \
0ec0: 0a 09 09 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f  ...$(SRCDIR)/../
0ed0: 6d 61 6e 69 66 65 73 74 2e 75 75 69 64 20 3e 3e  manifest.uuid >>
0ee0: 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 4f  $(OBJDIR)/VERSIO
0ef0: 4e 2e 68 0a 09 61 77 6b 20 27 24 24 31 3d 3d 22  N.h..awk '$$1=="
0f00: 44 22 7b 70 72 69 6e 74 66 20 22 23 64 65 66 69  D"{printf "#defi
0f10: 6e 65 20 4d 41 4e 49 46 45 53 54 5f 44 41 54 45  ne MANIFEST_DATE
0f20: 20 5c 22 25 73 20 25 73 5c 22 5c 6e 22 2c 5c 0a   \"%s %s\"\n",\.
0f30: 09 09 73 75 62 73 74 72 28 24 24 32 2c 31 2c 31  ..substr($$2,1,1
0f40: 30 29 2c 73 75 62 73 74 72 28 24 24 32 2c 31 32  0),substr($$2,12
0f50: 2c 38 29 7d 27 20 5c 0a 09 09 24 28 53 52 43 44  ,8)}' \...$(SRCD
0f60: 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20  IR)/../manifest 
0f70: 3e 3e 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53  >>$(OBJDIR)/VERS
0f80: 49 4f 4e 2e 68 0a 0a 45 58 54 52 41 4f 42 4a 20  ION.h..EXTRAOBJ 
0f90: 3d 20 5c 0a 20 20 24 28 4f 42 4a 44 49 52 29 2f  = \.  $(OBJDIR)/
0fa0: 73 71 6c 69 74 65 33 2e 6f 20 5c 0a 20 20 24 28  sqlite3.o \.  $(
0fb0: 4f 42 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 20  OBJDIR)/shell.o 
0fc0: 5c 0a 20 20 24 28 4f 42 4a 44 49 52 29 2f 74 68  \.  $(OBJDIR)/th
0fd0: 2e 6f 20 5c 0a 20 20 24 28 4f 42 4a 44 49 52 29  .o \.  $(OBJDIR)
0fe0: 2f 74 68 5f 6c 61 6e 67 2e 6f 0a 0a 24 28 41 50  /th_lang.o..$(AP
0ff0: 50 4e 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49 52  PNAME):.$(OBJDIR
1000: 29 2f 68 65 61 64 65 72 73 20 24 28 4f 42 4a 29  )/headers $(OBJ)
1010: 20 24 28 45 58 54 52 41 4f 42 4a 29 0a 09 24 28   $(EXTRAOBJ)..$(
1020: 54 43 43 29 20 2d 6f 20 24 28 41 50 50 4e 41 4d  TCC) -o $(APPNAM
1030: 45 29 20 24 28 4f 42 4a 29 20 24 28 45 58 54 52  E) $(OBJ) $(EXTR
1040: 41 4f 42 4a 29 20 24 28 4c 49 42 29 0a 0a 23 20  AOBJ) $(LIB)..# 
1050: 54 68 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e  This rule preven
1060: 74 73 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69  ts make from usi
1070: 6e 67 20 69 74 73 20 64 65 66 61 75 6c 74 20 72  ng its default r
1080: 75 6c 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c  ules to try buil
1090: 64 0a 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c  d.# an executabl
10a0: 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73  e named "manifes
10b0: 74 22 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69  t" out of the fi
10c0: 6c 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65  le named "manife
10d0: 73 74 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52  st.c".#.$(SRCDIR
10e0: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 09 0a  )/../manifest:..
10f0: 09 23 20 6e 6f 6f 70 0a 0a 63 6c 65 61 6e 3a 09  .# noop..clean:.
1100: 0a 09 72 6d 20 2d 72 66 20 24 28 4f 42 4a 44 49  ..rm -rf $(OBJDI
1110: 52 29 2f 2a 20 24 28 41 50 50 4e 41 4d 45 29 0a  R)/* $(APPNAME).
1120: 0a 7d 0a 0a 73 65 74 20 6d 68 61 72 67 73 20 7b  .}..set mhargs {
1130: 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  }.foreach s [lso
1140: 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 61 70 70  rt $src] {.  app
1150: 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 24 28  end mhargs " \$(
1160: 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63 3a  OBJDIR)/${s}_.c:
1170: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73 2e 68 22  \$(OBJDIR)/$s.h"
1180: 0a 20 20 73 65 74 20 65 78 74 72 61 5f 68 28 24  .  set extra_h($
1190: 73 29 20 7b 7d 0a 7d 0a 61 70 70 65 6e 64 20 6d  s) {}.}.append m
11a0: 68 61 72 67 73 20 22 20 5c 24 28 53 52 43 44 49  hargs " \$(SRCDI
11b0: 52 29 2f 73 71 6c 69 74 65 33 2e 68 22 0a 61 70  R)/sqlite3.h".ap
11c0: 70 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 24  pend mhargs " \$
11d0: 28 53 52 43 44 49 52 29 2f 74 68 2e 68 22 0a 61  (SRCDIR)/th.h".a
11e0: 70 70 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c  ppend mhargs " \
11f0: 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 4f  $(OBJDIR)/VERSIO
1200: 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24  N.h".writeln "\$
1210: 28 4f 42 4a 44 49 52 29 2f 70 61 67 65 5f 69 6e  (OBJDIR)/page_in
1220: 64 65 78 2e 68 3a 20 5c 24 28 54 52 41 4e 53 5f  dex.h: \$(TRANS_
1230: 53 52 43 29 20 5c 24 28 4f 42 4a 44 49 52 29 2f  SRC) \$(OBJDIR)/
1240: 6d 6b 69 6e 64 65 78 22 0a 77 72 69 74 65 6c 6e  mkindex".writeln
1250: 20 22 5c 74 5c 24 28 4f 42 4a 44 49 52 29 2f 6d   "\t\$(OBJDIR)/m
1260: 6b 69 6e 64 65 78 20 5c 24 28 54 52 41 4e 53 5f  kindex \$(TRANS_
1270: 53 52 43 29 20 3e 24 40 22 0a 77 72 69 74 65 6c  SRC) >$@".writel
1280: 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65  n "\$(OBJDIR)/he
1290: 61 64 65 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49  aders:\t\$(OBJDI
12a0: 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 20  R)/page_index.h 
12b0: 5c 24 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68  \$(OBJDIR)/makeh
12c0: 65 61 64 65 72 73 20 5c 24 28 4f 42 4a 44 49 52  eaders \$(OBJDIR
12d0: 29 2f 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69  )/VERSION.h".wri
12e0: 74 65 6c 6e 20 22 5c 74 5c 24 28 4f 42 4a 44 49  teln "\t\$(OBJDI
12f0: 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73 20 24  R)/makeheaders $
1300: 6d 68 61 72 67 73 22 0a 77 72 69 74 65 6c 6e 20  mhargs".writeln 
1310: 22 5c 74 74 6f 75 63 68 20 5c 24 28 4f 42 4a 44  "\ttouch \$(OBJD
1320: 49 52 29 2f 68 65 61 64 65 72 73 22 0a 77 72 69  IR)/headers".wri
1330: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
1340: 2f 68 65 61 64 65 72 73 3a 20 4d 61 6b 65 66 69  /headers: Makefi
1350: 6c 65 22 0a 77 72 69 74 65 6c 6e 20 22 4d 61 6b  le".writeln "Mak
1360: 65 66 69 6c 65 3a 22 0a 73 65 74 20 65 78 74 72  efile:".set extr
1370: 61 5f 68 28 6d 61 69 6e 29 20 5c 24 28 4f 42 4a  a_h(main) \$(OBJ
1380: 44 49 52 29 2f 70 61 67 65 5f 69 6e 64 65 78 2e  DIR)/page_index.
1390: 68 0a 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73  h..foreach s [ls
13a0: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72  ort $src] {.  wr
13b0: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
13c0: 29 2f 24 7b 73 7d 5f 2e 63 3a 5c 74 5c 24 28 53  )/${s}_.c:\t\$(S
13d0: 52 43 44 49 52 29 2f 24 73 2e 63 20 5c 24 28 4f  RCDIR)/$s.c \$(O
13e0: 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65  BJDIR)/translate
13f0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 74 5c  ".  writeln "\t\
1400: 24 28 4f 42 4a 44 49 52 29 2f 74 72 61 6e 73 6c  $(OBJDIR)/transl
1410: 61 74 65 20 5c 24 28 53 52 43 44 49 52 29 2f 24  ate \$(SRCDIR)/$
1420: 73 2e 63 20 3e 5c 24 28 4f 42 4a 44 49 52 29 2f  s.c >\$(OBJDIR)/
1430: 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69  ${s}_.c\n".  wri
1440: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
1450: 2f 24 73 2e 6f 3a 5c 74 5c 24 28 4f 42 4a 44 49  /$s.o:\t\$(OBJDI
1460: 52 29 2f 24 7b 73 7d 5f 2e 63 20 5c 24 28 4f 42  R)/${s}_.c \$(OB
1470: 4a 44 49 52 29 2f 24 73 2e 68 20 24 65 78 74 72  JDIR)/$s.h $extr
1480: 61 5f 68 28 24 73 29 20 5c 24 28 53 52 43 44 49  a_h($s) \$(SRCDI
1490: 52 29 2f 63 6f 6e 66 69 67 2e 68 22 0a 20 20 77  R)/config.h".  w
14a0: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43  riteln "\t\$(XTC
14b0: 43 29 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29  C) -o \$(OBJDIR)
14c0: 2f 24 73 2e 6f 20 2d 63 20 5c 24 28 4f 42 4a 44  /$s.o -c \$(OBJD
14d0: 49 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20  IR)/${s}_.c\n". 
14e0: 20 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a   writeln "\$(OBJ
14f0: 44 49 52 29 2f 24 73 2e 68 3a 5c 74 5c 24 28 4f  DIR)/$s.h:\t\$(O
1500: 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 22 0a  BJDIR)/headers".
1510: 7d 0a 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  }...writeln "\$(
1520: 4f 42 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  OBJDIR)/sqlite3.
1530: 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 73  o:\t\$(SRCDIR)/s
1540: 71 6c 69 74 65 33 2e 63 22 0a 73 65 74 20 6f 70  qlite3.c".set op
1550: 74 20 7b 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54  t {-DSQLITE_OMIT
1560: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 3d  _LOAD_EXTENSION=
1570: 31 7d 0a 61 70 70 65 6e 64 20 6f 70 74 20 22 20  1}.append opt " 
1580: 2d 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  -DSQLITE_THREADS
1590: 41 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 44  AFE=0 -DSQLITE_D
15a0: 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d  EFAULT_FILE_FORM
15b0: 41 54 3d 34 22 0a 23 61 70 70 65 6e 64 20 6f 70  AT=4".#append op
15c0: 74 20 22 20 2d 44 53 51 4c 49 54 45 5f 45 4e 41  t " -DSQLITE_ENA
15d0: 42 4c 45 5f 46 54 53 33 3d 31 22 0a 61 70 70 65  BLE_FTS3=1".appe
15e0: 6e 64 20 6f 70 74 20 22 20 2d 44 53 51 4c 49 54  nd opt " -DSQLIT
15f0: 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 32 22 0a  E_ENABLE_STAT2".
1600: 61 70 70 65 6e 64 20 6f 70 74 20 22 20 2d 44 6c  append opt " -Dl
1610: 6f 63 61 6c 74 69 6d 65 3d 66 6f 73 73 69 6c 5f  ocaltime=fossil_
1620: 6c 6f 63 61 6c 74 69 6d 65 22 0a 61 70 70 65 6e  localtime".appen
1630: 64 20 6f 70 74 20 22 20 2d 44 53 51 4c 49 54 45  d opt " -DSQLITE
1640: 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e 47 5f  _ENABLE_LOCKING_
1650: 53 54 59 4c 45 3d 30 22 0a 73 65 74 20 53 51 4c  STYLE=0".set SQL
1660: 49 54 45 5f 4f 50 54 49 4f 4e 53 20 24 6f 70 74  ITE_OPTIONS $opt
1670: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58  .writeln "\t\$(X
1680: 54 43 43 29 20 24 6f 70 74 20 2d 63 20 5c 24 28  TCC) $opt -c \$(
1690: 53 52 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  SRCDIR)/sqlite3.
16a0: 63 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f  c -o \$(OBJDIR)/
16b0: 73 71 6c 69 74 65 33 2e 6f 5c 6e 22 0a 0a 77 72  sqlite3.o\n"..wr
16c0: 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52  iteln "\$(OBJDIR
16d0: 29 2f 73 68 65 6c 6c 2e 6f 3a 5c 74 5c 24 28 53  )/shell.o:\t\$(S
16e0: 52 43 44 49 52 29 2f 73 68 65 6c 6c 2e 63 22 0a  RCDIR)/shell.c".
16f0: 73 65 74 20 6f 70 74 20 7b 2d 44 6d 61 69 6e 3d  set opt {-Dmain=
1700: 73 71 6c 69 74 65 33 5f 73 68 65 6c 6c 7d 0a 61  sqlite3_shell}.a
1710: 70 70 65 6e 64 20 6f 70 74 20 22 20 2d 44 53 51  ppend opt " -DSQ
1720: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45  LITE_OMIT_LOAD_E
1730: 58 54 45 4e 53 49 4f 4e 3d 31 22 0a 61 70 70 65  XTENSION=1".appe
1740: 6e 64 20 6f 70 74 20 22 20 2d 44 66 6f 70 65 6e  nd opt " -Dfopen
1750: 3d 66 6f 73 73 69 6c 5f 66 6f 70 65 6e 22 0a 77  =fossil_fopen".w
1760: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43  riteln "\t\$(XTC
1770: 43 29 20 24 6f 70 74 20 2d 63 20 5c 24 28 53 52  C) $opt -c \$(SR
1780: 43 44 49 52 29 2f 73 68 65 6c 6c 2e 63 20 2d 6f  CDIR)/shell.c -o
1790: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 73 68 65 6c   \$(OBJDIR)/shel
17a0: 6c 2e 6f 5c 6e 22 0a 0a 77 72 69 74 65 6c 6e 20  l.o\n"..writeln 
17b0: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f  "\$(OBJDIR)/th.o
17c0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68  :\t\$(SRCDIR)/th
17d0: 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c  .c".writeln "\t\
17e0: 24 28 58 54 43 43 29 20 2d 49 5c 24 28 53 52 43  $(XTCC) -I\$(SRC
17f0: 44 49 52 29 20 2d 63 20 5c 24 28 53 52 43 44 49  DIR) -c \$(SRCDI
1800: 52 29 2f 74 68 2e 63 20 2d 6f 20 5c 24 28 4f 42  R)/th.c -o \$(OB
1810: 4a 44 49 52 29 2f 74 68 2e 6f 5c 6e 22 0a 0a 77  JDIR)/th.o\n"..w
1820: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49  riteln "\$(OBJDI
1830: 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a 5c 74 5c  R)/th_lang.o:\t\
1840: 24 28 53 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e  $(SRCDIR)/th_lan
1850: 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  g.c".writeln "\t
1860: 5c 24 28 58 54 43 43 29 20 2d 49 5c 24 28 53 52  \$(XTCC) -I\$(SR
1870: 43 44 49 52 29 20 2d 63 20 5c 24 28 53 52 43 44  CDIR) -c \$(SRCD
1880: 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63 20 2d 6f  IR)/th_lang.c -o
1890: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 74 68 5f 6c   \$(OBJDIR)/th_l
18a0: 61 6e 67 2e 6f 5c 6e 22 0a 0a 63 6c 6f 73 65 20  ang.o\n"..close 
18b0: 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23 0a 23  $output_file.#.#
18c0: 20 45 6e 64 20 6f 66 20 74 68 65 20 6d 61 69 6e   End of the main
18d0: 2e 6d 6b 20 6f 75 74 70 75 74 0a 23 23 23 23 23  .mk output.#####
18e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
18f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1900: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1920: 23 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 23  #########.######
1930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1940: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1950: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1960: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1970: 23 23 23 23 23 23 23 23 0a 23 23 23 23 23 23 23  ########.#######
1980: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1990: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19c0: 23 23 23 23 23 23 23 0a 23 20 42 65 67 69 6e 20  #######.# Begin 
19d0: 77 69 6e 2f 4d 61 6b 65 66 69 6c 65 2e 6d 69 6e  win/Makefile.min
19e0: 67 77 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64  gw.#.puts "build
19f0: 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  ing ../win/Makef
1a00: 69 6c 65 2e 6d 69 6e 67 77 22 0a 73 65 74 20 6f  ile.mingw".set o
1a10: 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e  utput_file [open
1a20: 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65   ../win/Makefile
1a30: 2e 6d 69 6e 67 77 20 77 5d 0a 66 63 6f 6e 66 69  .mingw w].fconfi
1a40: 67 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c  gure $output_fil
1a50: 65 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62  e -translation b
1a60: 69 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b  inary..writeln {
1a70: 23 21 2f 75 73 72 2f 62 69 6e 2f 6d 61 6b 65 0a  #!/usr/bin/make.
1a80: 23 0a 23 20 54 68 69 73 20 69 73 20 61 20 6d 61  #.# This is a ma
1a90: 6b 65 66 69 6c 65 20 66 6f 72 20 75 73 20 6f 6e  kefile for us on
1aa0: 20 77 69 6e 64 6f 77 73 20 75 73 69 6e 67 20 6d   windows using m
1ab0: 69 6e 67 77 2e 0a 23 0a 23 23 23 23 20 54 68 65  ingw..#.#### The
1ac0: 20 74 6f 70 6c 65 76 65 6c 20 64 69 72 65 63 74   toplevel direct
1ad0: 6f 72 79 20 6f 66 20 74 68 65 20 73 6f 75 72 63  ory of the sourc
1ae0: 65 20 74 72 65 65 2e 20 20 46 6f 73 73 69 6c 20  e tree.  Fossil 
1af0: 63 61 6e 20 62 65 20 62 75 69 6c 74 0a 23 20 20  can be built.#  
1b00: 20 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79    in a directory
1b10: 20 74 68 61 74 20 69 73 20 73 65 70 61 72 61 74   that is separat
1b20: 65 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63  e from the sourc
1b30: 65 20 74 72 65 65 2e 20 20 4a 75 73 74 20 63 68  e tree.  Just ch
1b40: 61 6e 67 65 0a 23 20 20 20 20 74 68 65 20 66 6f  ange.#    the fo
1b50: 6c 6c 6f 77 69 6e 67 20 74 6f 20 70 6f 69 6e 74  llowing to point
1b60: 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 20   from the build 
1b70: 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65  directory to the
1b80: 20 73 72 63 2f 20 66 6f 6c 64 65 72 2e 0a 23 0a   src/ folder..#.
1b90: 53 52 43 44 49 52 20 3d 20 73 72 63 0a 0a 23 23  SRCDIR = src..##
1ba0: 23 23 20 54 68 65 20 64 69 72 65 63 74 6f 72 79  ## The directory
1bb0: 20 69 6e 74 6f 20 77 68 69 63 68 20 6f 62 6a 65   into which obje
1bc0: 63 74 20 63 6f 64 65 20 66 69 6c 65 73 20 73 68  ct code files sh
1bd0: 6f 75 6c 64 20 62 65 20 77 72 69 74 74 65 6e 2e  ould be written.
1be0: 0a 23 0a 23 0a 4f 42 4a 44 49 52 20 3d 20 77 62  .#.#.OBJDIR = wb
1bf0: 6c 64 0a 0a 23 23 23 23 20 43 20 43 6f 6d 70 69  ld..#### C Compi
1c00: 6c 65 72 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20  ler and options 
1c10: 66 6f 72 20 75 73 65 20 69 6e 20 62 75 69 6c 64  for use in build
1c20: 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 73 20  ing executables 
1c30: 74 68 61 74 0a 23 20 20 20 20 77 69 6c 6c 20 72  that.#    will r
1c40: 75 6e 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f  un on the platfo
1c50: 72 6d 20 74 68 61 74 20 69 73 20 64 6f 69 6e 67  rm that is doing
1c60: 20 74 68 65 20 62 75 69 6c 64 2e 20 20 54 68 69   the build.  Thi
1c70: 73 20 69 73 20 75 73 65 64 0a 23 20 20 20 20 74  s is used.#    t
1c80: 6f 20 63 6f 6d 70 69 6c 65 20 63 6f 64 65 2d 67  o compile code-g
1c90: 65 6e 65 72 61 74 6f 72 20 70 72 6f 67 72 61 6d  enerator program
1ca0: 73 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65  s as part of the
1cb0: 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2e 0a   build process..
1cc0: 23 20 20 20 20 53 65 65 20 54 43 43 20 62 65 6c  #    See TCC bel
1cd0: 6f 77 20 66 6f 72 20 74 68 65 20 43 20 63 6f 6d  ow for the C com
1ce0: 70 69 6c 65 72 20 66 6f 72 20 62 75 69 6c 64 69  piler for buildi
1cf0: 6e 67 20 74 68 65 20 66 69 6e 69 73 68 65 64 20  ng the finished 
1d00: 62 69 6e 61 72 79 2e 0a 23 0a 42 43 43 20 3d 20  binary..#.BCC = 
1d10: 67 63 63 0a 0a 23 23 23 23 20 45 6e 61 62 6c 65  gcc..#### Enable
1d20: 20 48 54 54 50 53 20 73 75 70 70 6f 72 74 20 76   HTTPS support v
1d30: 69 61 20 4f 70 65 6e 53 53 4c 20 28 6c 69 6e 6b  ia OpenSSL (link
1d40: 73 20 74 6f 20 6c 69 62 73 73 6c 20 61 6e 64 20  s to libssl and 
1d50: 6c 69 62 63 72 79 70 74 6f 29 0a 23 0a 23 20 46  libcrypto).#.# F
1d60: 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c  OSSIL_ENABLE_SSL
1d70: 3d 31 0a 0a 23 23 23 23 20 54 68 65 20 64 69 72  =1..#### The dir
1d80: 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20  ectory in which 
1d90: 74 68 65 20 7a 6c 69 62 20 63 6f 6d 70 72 65 73  the zlib compres
1da0: 73 69 6f 6e 20 6c 69 62 72 61 72 79 20 69 73 20  sion library is 
1db0: 69 6e 73 74 61 6c 6c 65 64 2e 0a 23 0a 23 0a 5a  installed..#.#.Z
1dc0: 4c 49 42 44 49 52 20 3d 20 2f 70 72 6f 67 72 61  LIBDIR = /progra
1dd0: 6d 73 2f 67 6e 75 77 69 6e 33 32 0a 0a 23 23 23  ms/gnuwin32..###
1de0: 23 20 43 20 43 6f 6d 70 69 6c 65 20 61 6e 64 20  # C Compile and 
1df0: 6f 70 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 20  options for use 
1e00: 69 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 65 63  in building exec
1e10: 75 74 61 62 6c 65 73 20 74 68 61 74 20 0a 23 20  utables that .# 
1e20: 20 20 20 77 69 6c 6c 20 72 75 6e 20 6f 6e 20 74     will run on t
1e30: 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f  he target platfo
1e40: 72 6d 2e 20 20 54 68 69 73 20 69 73 20 75 73 75  rm.  This is usu
1e50: 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 0a 23 20  ally the same.# 
1e60: 20 20 20 61 73 20 42 43 43 2c 20 75 6e 6c 65 73     as BCC, unles
1e70: 73 20 79 6f 75 20 61 72 65 20 63 72 6f 73 73 2d  s you are cross-
1e80: 63 6f 6d 70 69 6c 69 6e 67 2e 20 20 54 68 69 73  compiling.  This
1e90: 20 43 20 63 6f 6d 70 69 6c 65 72 20 62 75 69 6c   C compiler buil
1ea0: 64 73 0a 23 20 20 20 20 74 68 65 20 66 69 6e 69  ds.#    the fini
1eb0: 73 68 65 64 20 62 69 6e 61 72 79 20 66 6f 72 20  shed binary for 
1ec0: 66 6f 73 73 69 6c 2e 20 20 54 68 65 20 42 43 43  fossil.  The BCC
1ed0: 20 63 6f 6d 70 69 6c 65 72 20 61 62 6f 76 65 20   compiler above 
1ee0: 69 73 20 75 73 65 64 0a 23 20 20 20 20 66 6f 72  is used.#    for
1ef0: 20 62 75 69 6c 64 69 6e 67 20 69 6e 74 65 72 6d   building interm
1f00: 65 64 69 61 74 65 20 63 6f 64 65 2d 67 65 6e 65  ediate code-gene
1f10: 72 61 74 6f 72 20 74 6f 6f 6c 73 2e 0a 23 0a 54  rator tools..#.T
1f20: 43 43 20 3d 20 67 63 63 20 2d 4f 73 20 2d 57 61  CC = gcc -Os -Wa
1f30: 6c 6c 20 2d 4c 24 28 5a 4c 49 42 44 49 52 29 2f  ll -L$(ZLIBDIR)/
1f40: 6c 69 62 20 2d 49 24 28 5a 4c 49 42 44 49 52 29  lib -I$(ZLIBDIR)
1f50: 2f 69 6e 63 6c 75 64 65 0a 0a 23 20 57 69 74 68  /include..# With
1f60: 20 48 54 54 50 53 20 73 75 70 70 6f 72 74 0a 69   HTTPS support.i
1f70: 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41 42  fdef FOSSIL_ENAB
1f80: 4c 45 5f 53 53 4c 0a 54 43 43 20 2b 3d 20 2d 73  LE_SSL.TCC += -s
1f90: 74 61 74 69 63 20 2d 44 46 4f 53 53 49 4c 5f 45  tatic -DFOSSIL_E
1fa0: 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 65 6e 64 69  NABLE_SSL=1.endi
1fb0: 66 0a 0a 23 23 23 23 20 45 78 74 72 61 20 61 72  f..#### Extra ar
1fc0: 67 75 6d 65 6e 74 73 20 66 6f 72 20 6c 69 6e 6b  guments for link
1fd0: 69 6e 67 20 74 68 65 20 66 69 6e 69 73 68 65 64  ing the finished
1fe0: 20 62 69 6e 61 72 79 2e 20 20 46 6f 73 73 69 6c   binary.  Fossil
1ff0: 20 6e 65 65 64 73 0a 23 20 20 20 20 74 6f 20 6c   needs.#    to l
2000: 69 6e 6b 20 61 67 61 69 6e 73 74 20 74 68 65 20  ink against the 
2010: 5a 2d 4c 69 62 20 63 6f 6d 70 72 65 73 73 69 6f  Z-Lib compressio
2020: 6e 20 6c 69 62 72 61 72 79 2e 20 20 54 68 65 72  n library.  Ther
2030: 65 20 61 72 65 20 6e 6f 0a 23 20 20 20 20 6f 74  e are no.#    ot
2040: 68 65 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73  her dependencies
2050: 2e 20 20 57 65 20 73 6f 6d 65 74 69 6d 65 73 20  .  We sometimes 
2060: 61 64 64 20 74 68 65 20 2d 73 74 61 74 69 63 20  add the -static 
2070: 6f 70 74 69 6f 6e 20 68 65 72 65 0a 23 20 20 20  option here.#   
2080: 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20   so that we can 
2090: 62 75 69 6c 64 20 61 20 73 74 61 74 69 63 20 65  build a static e
20a0: 78 65 63 75 74 61 62 6c 65 20 74 68 61 74 20 77  xecutable that w
20b0: 69 6c 6c 20 72 75 6e 20 69 6e 20 61 0a 23 20 20  ill run in a.#  
20c0: 20 20 63 68 72 6f 6f 74 20 6a 61 69 6c 2e 0a 23    chroot jail..#
20d0: 0a 23 4c 49 42 20 3d 20 2d 6c 7a 20 2d 6c 77 73  .#LIB = -lz -lws
20e0: 32 5f 33 32 0a 23 20 4f 70 65 6e 53 53 4c 3a 0a  2_32.# OpenSSL:.
20f0: 69 66 64 65 66 20 46 4f 53 53 49 4c 5f 45 4e 41  ifdef FOSSIL_ENA
2100: 42 4c 45 5f 53 53 4c 0a 4c 49 42 20 2b 3d 20 2d  BLE_SSL.LIB += -
2110: 6c 73 73 6c 20 2d 6c 63 72 79 70 74 6f 20 2d 6c  lssl -lcrypto -l
2120: 67 64 69 33 32 0a 65 6e 64 69 66 0a 4c 49 42 20  gdi32.endif.LIB 
2130: 2b 3d 20 2d 6c 6d 69 6e 67 77 65 78 20 2d 6c 7a  += -lmingwex -lz
2140: 20 2d 6c 77 73 32 5f 33 32 0a 0a 23 23 23 23 20   -lws2_32..#### 
2150: 54 63 6c 20 73 68 65 6c 6c 20 66 6f 72 20 75 73  Tcl shell for us
2160: 65 20 69 6e 20 72 75 6e 6e 69 6e 67 20 74 68 65  e in running the
2170: 20 66 6f 73 73 69 6c 20 74 65 73 74 73 75 69 74   fossil testsuit
2180: 65 2e 20 20 54 68 69 73 20 69 73 20 6f 6e 6c 79  e.  This is only
2190: 0a 23 20 20 20 20 75 73 65 64 20 66 6f 72 20 74  .#    used for t
21a0: 65 73 74 69 6e 67 2e 20 20 49 66 20 79 6f 75 20  esting.  If you 
21b0: 64 6f 20 6e 6f 74 20 72 75 6e 0a 23 0a 54 43 4c  do not run.#.TCL
21c0: 53 48 20 3d 20 74 63 6c 73 68 0a 0a 23 23 23 23  SH = tclsh..####
21d0: 20 4e 75 6c 6c 73 6f 66 74 20 69 6e 73 74 61 6c   Nullsoft instal
21e0: 6c 65 72 20 6d 61 6b 65 6e 73 69 73 20 6c 6f 63  ler makensis loc
21f0: 61 74 69 6f 6e 0a 23 0a 4d 41 4b 45 4e 53 49 53  ation.#.MAKENSIS
2200: 20 3d 20 22 63 3a 5c 50 72 6f 67 72 61 6d 20 46   = "c:\Program F
2210: 69 6c 65 73 5c 4e 53 49 53 5c 6d 61 6b 65 6e 73  iles\NSIS\makens
2220: 69 73 2e 65 78 65 22 0a 0a 23 23 23 23 20 49 6e  is.exe"..#### In
2230: 63 6c 75 64 65 20 61 20 63 6f 6e 66 69 67 75 72  clude a configur
2240: 61 74 69 6f 6e 20 66 69 6c 65 20 74 68 61 74 20  ation file that 
2250: 63 61 6e 20 6f 76 65 72 72 69 64 65 20 61 6e 79  can override any
2260: 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 65   one of these se
2270: 74 74 69 6e 67 73 2e 0a 23 0a 2d 69 6e 63 6c 75  ttings..#.-inclu
2280: 64 65 20 63 6f 6e 66 69 67 2e 77 33 32 0a 0a 23  de config.w32..#
2290: 20 53 54 4f 50 20 48 45 52 45 0a 23 20 59 6f 75   STOP HERE.# You
22a0: 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 65 64   should not need
22b0: 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 79 74 68   to change anyth
22c0: 69 6e 67 20 62 65 6c 6f 77 20 74 68 69 73 20 6c  ing below this l
22d0: 69 6e 65 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ine.#-----------
22e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
22f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2300: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 58 54  -------------.XT
2310: 43 43 20 3d 20 24 28 54 43 43 29 20 24 28 43 46  CC = $(TCC) $(CF
2320: 4c 41 47 53 29 20 2d 49 2e 20 2d 49 24 28 53 52  LAGS) -I. -I$(SR
2330: 43 44 49 52 29 0a 7d 0a 77 72 69 74 65 6c 6e 20  CDIR).}.writeln 
2340: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 53 52 43 20  -nonewline "SRC 
2350: 3d 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73  =".foreach s [ls
2360: 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72  ort $src] {.  wr
2370: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
2380: 20 22 20 5c 5c 5c 6e 20 20 5c 24 28 53 52 43 44   " \\\n  \$(SRCD
2390: 49 52 29 2f 24 73 2e 63 22 0a 7d 0a 77 72 69 74  IR)/$s.c".}.writ
23a0: 65 6c 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e  eln "\n".writeln
23b0: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 54 52 41   -nonewline "TRA
23c0: 4e 53 5f 53 52 43 20 3d 22 0a 66 6f 72 65 61 63  NS_SRC =".foreac
23d0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
23e0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
23f0: 6e 65 77 6c 69 6e 65 20 22 20 5c 5c 5c 6e 20 20  newline " \\\n  
2400: 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f  \$(OBJDIR)/${s}_
2410: 2e 63 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .c".}.writeln "\
2420: 6e 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65  n".writeln -none
2430: 77 6c 69 6e 65 20 22 4f 42 4a 20 3d 22 0a 66 6f  wline "OBJ =".fo
2440: 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24  reach s [lsort $
2450: 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e  src] {.  writeln
2460: 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 20 5c 5c   -nonewline " \\
2470: 5c 6e 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 73  \n \$(OBJDIR)/$s
2480: 2e 6f 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  .o".}.writeln "\
2490: 6e 22 0a 77 72 69 74 65 6c 6e 20 22 41 50 50 4e  n".writeln "APPN
24a0: 41 4d 45 20 3d 20 24 7b 6e 61 6d 65 7d 2e 65 78  AME = ${name}.ex
24b0: 65 22 0a 77 72 69 74 65 6c 6e 20 7b 54 52 41 4e  e".writeln {TRAN
24c0: 53 4c 41 54 45 20 20 20 3d 20 24 28 73 75 62 73  SLATE   = $(subs
24d0: 74 20 2f 2c 5c 5c 2c 24 28 4f 42 4a 44 49 52 29  t /,\\,$(OBJDIR)
24e0: 2f 74 72 61 6e 73 6c 61 74 65 2e 65 78 65 29 0a  /translate.exe).
24f0: 4d 41 4b 45 48 45 41 44 45 52 53 20 3d 20 24 28  MAKEHEADERS = $(
2500: 73 75 62 73 74 20 2f 2c 5c 5c 2c 24 28 4f 42 4a  subst /,\\,$(OBJ
2510: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73  DIR)/makeheaders
2520: 2e 65 78 65 29 0a 4d 4b 49 4e 44 45 58 20 20 20  .exe).MKINDEX   
2530: 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c 5c 5c    = $(subst /,\\
2540: 2c 24 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e 64  ,$(OBJDIR)/mkind
2550: 65 78 2e 65 78 65 29 0a 56 45 52 53 49 4f 4e 20  ex.exe).VERSION 
2560: 20 20 20 20 3d 20 24 28 73 75 62 73 74 20 2f 2c      = $(subst /,
2570: 5c 5c 2c 24 28 4f 42 4a 44 49 52 29 2f 76 65 72  \\,$(OBJDIR)/ver
2580: 73 69 6f 6e 2e 65 78 65 29 0a 7d 0a 0a 77 72 69  sion.exe).}..wri
2590: 74 65 6c 6e 20 7b 0a 61 6c 6c 3a 09 24 28 4f 42  teln {.all:.$(OB
25a0: 4a 44 49 52 29 20 24 28 41 50 50 4e 41 4d 45 29  JDIR) $(APPNAME)
25b0: 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 69 63 6f 6e  ..$(OBJDIR)/icon
25c0: 2e 6f 3a 09 24 28 53 52 43 44 49 52 29 2f 2e 2e  .o:.$(SRCDIR)/..
25d0: 2f 77 69 6e 2f 69 63 6f 6e 2e 72 63 0a 09 63 70  /win/icon.rc..cp
25e0: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77 69   $(SRCDIR)/../wi
25f0: 6e 2f 69 63 6f 6e 2e 72 63 20 24 28 4f 42 4a 44  n/icon.rc $(OBJD
2600: 49 52 29 0a 09 77 69 6e 64 72 65 73 20 24 28 4f  IR)..windres $(O
2610: 42 4a 44 49 52 29 2f 69 63 6f 6e 2e 72 63 20 2d  BJDIR)/icon.rc -
2620: 6f 20 24 28 4f 42 4a 44 49 52 29 2f 69 63 6f 6e  o $(OBJDIR)/icon
2630: 2e 6f 0a 0a 69 6e 73 74 61 6c 6c 3a 09 24 28 41  .o..install:.$(A
2640: 50 50 4e 41 4d 45 29 0a 09 6d 76 20 24 28 41 50  PPNAME)..mv $(AP
2650: 50 4e 41 4d 45 29 20 24 28 49 4e 53 54 41 4c 4c  PNAME) $(INSTALL
2660: 44 49 52 29 0a 0a 24 28 4f 42 4a 44 49 52 29 3a  DIR)..$(OBJDIR):
2670: 0a 09 6d 6b 64 69 72 20 24 28 4f 42 4a 44 49 52  ..mkdir $(OBJDIR
2680: 29 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 74 72 61  )..$(OBJDIR)/tra
2690: 6e 73 6c 61 74 65 3a 09 24 28 53 52 43 44 49 52  nslate:.$(SRCDIR
26a0: 29 2f 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24  )/translate.c..$
26b0: 28 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49  (BCC) -o $(OBJDI
26c0: 52 29 2f 74 72 61 6e 73 6c 61 74 65 20 24 28 53  R)/translate $(S
26d0: 52 43 44 49 52 29 2f 74 72 61 6e 73 6c 61 74 65  RCDIR)/translate
26e0: 2e 63 0a 0a 24 28 4f 42 4a 44 49 52 29 2f 6d 61  .c..$(OBJDIR)/ma
26f0: 6b 65 68 65 61 64 65 72 73 3a 09 24 28 53 52 43  keheaders:.$(SRC
2700: 44 49 52 29 2f 6d 61 6b 65 68 65 61 64 65 72 73  DIR)/makeheaders
2710: 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 20 24 28  .c..$(BCC) -o $(
2720: 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61 64  OBJDIR)/makehead
2730: 65 72 73 20 24 28 53 52 43 44 49 52 29 2f 6d 61  ers $(SRCDIR)/ma
2740: 6b 65 68 65 61 64 65 72 73 2e 63 0a 0a 24 28 4f  keheaders.c..$(O
2750: 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78 3a 09  BJDIR)/mkindex:.
2760: 24 28 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64 65  $(SRCDIR)/mkinde
2770: 78 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 20 24  x.c..$(BCC) -o $
2780: 28 4f 42 4a 44 49 52 29 2f 6d 6b 69 6e 64 65 78  (OBJDIR)/mkindex
2790: 20 24 28 53 52 43 44 49 52 29 2f 6d 6b 69 6e 64   $(SRCDIR)/mkind
27a0: 65 78 2e 63 0a 0a 24 28 56 45 52 53 49 4f 4e 29  ex.c..$(VERSION)
27b0: 3a 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 77  : $(SRCDIR)/../w
27c0: 69 6e 2f 76 65 72 73 69 6f 6e 2e 63 0a 09 24 28  in/version.c..$(
27d0: 42 43 43 29 20 2d 6f 20 24 28 4f 42 4a 44 49 52  BCC) -o $(OBJDIR
27e0: 29 2f 76 65 72 73 69 6f 6e 20 24 28 53 52 43 44  )/version $(SRCD
27f0: 49 52 29 2f 2e 2e 2f 77 69 6e 2f 76 65 72 73 69  IR)/../win/versi
2800: 6f 6e 2e 63 0a 0a 23 20 57 41 52 4e 49 4e 47 2e  on.c..# WARNING.
2810: 20 44 41 4e 47 45 52 2e 20 52 75 6e 6e 69 6e 67   DANGER. Running
2820: 20 74 68 65 20 74 65 73 74 73 75 69 74 65 20 6d   the testsuite m
2830: 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 70 6f  odifies the repo
2840: 73 69 74 6f 72 79 20 74 68 65 0a 23 20 62 75 69  sitory the.# bui
2850: 6c 64 20 69 73 20 64 6f 6e 65 20 66 72 6f 6d 2c  ld is done from,
2860: 20 69 2e 65 2e 20 74 68 65 20 63 68 65 63 6b 6f   i.e. the checko
2870: 75 74 20 62 65 6c 6f 6e 67 73 20 74 6f 2e 20 44  ut belongs to. D
2880: 6f 20 6e 6f 74 20 73 79 6e 63 2f 70 75 73 68 0a  o not sync/push.
2890: 23 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79  # the repository
28a0: 20 61 66 74 65 72 20 72 75 6e 6e 69 6e 67 20 74   after running t
28b0: 68 65 20 74 65 73 74 73 2e 0a 74 65 73 74 3a 09  he tests..test:.
28c0: 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 54 43  $(APPNAME)..$(TC
28d0: 4c 53 48 29 20 74 65 73 74 2f 74 65 73 74 65 72  LSH) test/tester
28e0: 2e 74 63 6c 20 24 28 41 50 50 4e 41 4d 45 29 0a  .tcl $(APPNAME).
28f0: 0a 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49  .$(OBJDIR)/VERSI
2900: 4f 4e 2e 68 3a 09 24 28 53 52 43 44 49 52 29 2f  ON.h:.$(SRCDIR)/
2910: 2e 2e 2f 6d 61 6e 69 66 65 73 74 2e 75 75 69 64  ../manifest.uuid
2920: 20 24 28 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61   $(SRCDIR)/../ma
2930: 6e 69 66 65 73 74 20 24 28 56 45 52 53 49 4f 4e  nifest $(VERSION
2940: 29 0a 09 24 28 56 45 52 53 49 4f 4e 29 20 24 28  )..$(VERSION) $(
2950: 53 52 43 44 49 52 29 2f 2e 2e 2f 6d 61 6e 69 66  SRCDIR)/../manif
2960: 65 73 74 2e 75 75 69 64 20 24 28 53 52 43 44 49  est.uuid $(SRCDI
2970: 52 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 20 3e  R)/../manifest >
2980: 24 28 4f 42 4a 44 49 52 29 2f 56 45 52 53 49 4f  $(OBJDIR)/VERSIO
2990: 4e 2e 68 0a 0a 45 58 54 52 41 4f 42 4a 20 3d 20  N.h..EXTRAOBJ = 
29a0: 5c 0a 20 20 24 28 4f 42 4a 44 49 52 29 2f 73 71  \.  $(OBJDIR)/sq
29b0: 6c 69 74 65 33 2e 6f 20 5c 0a 20 20 24 28 4f 42  lite3.o \.  $(OB
29c0: 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 20 5c 0a  JDIR)/shell.o \.
29d0: 20 20 24 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f    $(OBJDIR)/th.o
29e0: 20 5c 0a 20 20 24 28 4f 42 4a 44 49 52 29 2f 74   \.  $(OBJDIR)/t
29f0: 68 5f 6c 61 6e 67 2e 6f 0a 0a 24 28 41 50 50 4e  h_lang.o..$(APPN
2a00: 41 4d 45 29 3a 09 24 28 4f 42 4a 44 49 52 29 2f  AME):.$(OBJDIR)/
2a10: 68 65 61 64 65 72 73 20 24 28 4f 42 4a 29 20 24  headers $(OBJ) $
2a20: 28 45 58 54 52 41 4f 42 4a 29 20 24 28 4f 42 4a  (EXTRAOBJ) $(OBJ
2a30: 44 49 52 29 2f 69 63 6f 6e 2e 6f 0a 09 24 28 54  DIR)/icon.o..$(T
2a40: 43 43 29 20 2d 6f 20 24 28 41 50 50 4e 41 4d 45  CC) -o $(APPNAME
2a50: 29 20 24 28 4f 42 4a 29 20 24 28 45 58 54 52 41  ) $(OBJ) $(EXTRA
2a60: 4f 42 4a 29 20 24 28 4c 49 42 29 20 24 28 4f 42  OBJ) $(LIB) $(OB
2a70: 4a 44 49 52 29 2f 69 63 6f 6e 2e 6f 0a 0a 23 20  JDIR)/icon.o..# 
2a80: 54 68 69 73 20 72 75 6c 65 20 70 72 65 76 65 6e  This rule preven
2a90: 74 73 20 6d 61 6b 65 20 66 72 6f 6d 20 75 73 69  ts make from usi
2aa0: 6e 67 20 69 74 73 20 64 65 66 61 75 6c 74 20 72  ng its default r
2ab0: 75 6c 65 73 20 74 6f 20 74 72 79 20 62 75 69 6c  ules to try buil
2ac0: 64 0a 23 20 61 6e 20 65 78 65 63 75 74 61 62 6c  d.# an executabl
2ad0: 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65 73  e named "manifes
2ae0: 74 22 20 6f 75 74 20 6f 66 20 74 68 65 20 66 69  t" out of the fi
2af0: 6c 65 20 6e 61 6d 65 64 20 22 6d 61 6e 69 66 65  le named "manife
2b00: 73 74 2e 63 22 0a 23 0a 24 28 53 52 43 44 49 52  st.c".#.$(SRCDIR
2b10: 29 2f 2e 2e 2f 6d 61 6e 69 66 65 73 74 3a 09 0a  )/../manifest:..
2b20: 09 23 20 6e 6f 6f 70 0a 0a 23 20 52 65 71 75 69  .# noop..# Requi
2b30: 72 65 73 20 6d 73 79 73 20 74 6f 20 62 65 20 69  res msys to be i
2b40: 6e 73 74 61 6c 6c 65 64 20 69 6e 20 61 64 64 69  nstalled in addi
2b50: 74 69 6f 6e 20 74 6f 20 74 68 65 20 6d 69 6e 67  tion to the ming
2b60: 77 2c 20 66 6f 72 20 74 68 65 20 22 72 6d 22 0a  w, for the "rm".
2b70: 23 20 63 6f 6d 6d 61 6e 64 2e 20 20 22 64 65 6c  # command.  "del
2b80: 22 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20  " will not work 
2b90: 68 65 72 65 20 62 65 63 61 75 73 65 20 69 74 20  here because it 
2ba0: 69 73 20 6e 6f 74 20 61 20 73 65 70 61 72 61 74  is not a separat
2bb0: 65 20 63 6f 6d 6d 61 6e 64 0a 23 20 62 75 74 20  e command.# but 
2bc0: 61 20 4d 53 44 4f 53 2d 73 68 65 6c 6c 20 62 75  a MSDOS-shell bu
2bd0: 69 6c 74 69 6e 2e 0a 23 0a 63 6c 65 61 6e 3a 09  iltin..#.clean:.
2be0: 0a 09 72 6d 20 2d 72 66 20 24 28 4f 42 4a 44 49  ..rm -rf $(OBJDI
2bf0: 52 29 20 24 28 41 50 50 4e 41 4d 45 29 0a 0a 73  R) $(APPNAME)..s
2c00: 65 74 75 70 3a 20 24 28 4f 42 4a 44 49 52 29 20  etup: $(OBJDIR) 
2c10: 24 28 41 50 50 4e 41 4d 45 29 0a 09 24 28 4d 41  $(APPNAME)..$(MA
2c20: 4b 45 4e 53 49 53 29 20 2e 2f 66 6f 73 73 69 6c  KENSIS) ./fossil
2c30: 2e 6e 73 69 0a 0a 7d 0a 0a 73 65 74 20 6d 68 61  .nsi..}..set mha
2c40: 72 67 73 20 7b 7d 0a 66 6f 72 65 61 63 68 20 73  rgs {}.foreach s
2c50: 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a   [lsort $src] {.
2c60: 20 20 61 70 70 65 6e 64 20 6d 68 61 72 67 73 20    append mhargs 
2c70: 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 24 7b 73  " \$(OBJDIR)/${s
2c80: 7d 5f 2e 63 3a 5c 24 28 4f 42 4a 44 49 52 29 2f  }_.c:\$(OBJDIR)/
2c90: 24 73 2e 68 22 0a 20 20 73 65 74 20 65 78 74 72  $s.h".  set extr
2ca0: 61 5f 68 28 24 73 29 20 7b 7d 0a 7d 0a 61 70 70  a_h($s) {}.}.app
2cb0: 65 6e 64 20 6d 68 61 72 67 73 20 22 20 5c 24 28  end mhargs " \$(
2cc0: 53 52 43 44 49 52 29 2f 73 71 6c 69 74 65 33 2e  SRCDIR)/sqlite3.
2cd0: 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67 73  h".append mhargs
2ce0: 20 22 20 5c 24 28 53 52 43 44 49 52 29 2f 74 68   " \$(SRCDIR)/th
2cf0: 2e 68 22 0a 61 70 70 65 6e 64 20 6d 68 61 72 67  .h".append mharg
2d00: 73 20 22 20 5c 24 28 4f 42 4a 44 49 52 29 2f 56  s " \$(OBJDIR)/V
2d10: 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 65 6c  ERSION.h".writel
2d20: 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 70 61  n "\$(OBJDIR)/pa
2d30: 67 65 5f 69 6e 64 65 78 2e 68 3a 20 5c 24 28 54  ge_index.h: \$(T
2d40: 52 41 4e 53 5f 53 52 43 29 20 5c 24 28 4f 42 4a  RANS_SRC) \$(OBJ
2d50: 44 49 52 29 2f 6d 6b 69 6e 64 65 78 22 0a 77 72  DIR)/mkindex".wr
2d60: 69 74 65 6c 6e 20 22 5c 74 5c 24 28 4d 4b 49 4e  iteln "\t\$(MKIN
2d70: 44 45 58 29 20 5c 24 28 54 52 41 4e 53 5f 53 52  DEX) \$(TRANS_SR
2d80: 43 29 20 3e 24 40 22 0a 77 72 69 74 65 6c 6e 20  C) >$@".writeln 
2d90: 22 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64  "\$(OBJDIR)/head
2da0: 65 72 73 3a 5c 74 5c 24 28 4f 42 4a 44 49 52 29  ers:\t\$(OBJDIR)
2db0: 2f 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 5c 24  /page_index.h \$
2dc0: 28 4f 42 4a 44 49 52 29 2f 6d 61 6b 65 68 65 61  (OBJDIR)/makehea
2dd0: 64 65 72 73 20 5c 24 28 4f 42 4a 44 49 52 29 2f  ders \$(OBJDIR)/
2de0: 56 45 52 53 49 4f 4e 2e 68 22 0a 77 72 69 74 65  VERSION.h".write
2df0: 6c 6e 20 22 5c 74 5c 24 28 4d 41 4b 45 48 45 41  ln "\t\$(MAKEHEA
2e00: 44 45 52 53 29 20 24 6d 68 61 72 67 73 22 0a 77  DERS) $mhargs".w
2e10: 72 69 74 65 6c 6e 20 22 5c 74 65 63 68 6f 20 44  riteln "\techo D
2e20: 6f 6e 65 20 3e 5c 24 28 4f 42 4a 44 49 52 29 2f  one >\$(OBJDIR)/
2e30: 68 65 61 64 65 72 73 22 0a 77 72 69 74 65 6c 6e  headers".writeln
2e40: 20 22 22 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28   "".writeln "\$(
2e50: 4f 42 4a 44 49 52 29 2f 68 65 61 64 65 72 73 3a  OBJDIR)/headers:
2e60: 20 4d 61 6b 65 66 69 6c 65 22 0a 77 72 69 74 65   Makefile".write
2e70: 6c 6e 20 22 4d 61 6b 65 66 69 6c 65 3a 22 0a 73  ln "Makefile:".s
2e80: 65 74 20 65 78 74 72 61 5f 68 28 6d 61 69 6e 29  et extra_h(main)
2e90: 20 5c 24 28 4f 42 4a 44 49 52 29 2f 70 61 67 65   \$(OBJDIR)/page
2ea0: 5f 69 6e 64 65 78 2e 68 0a 0a 66 6f 72 65 61 63  _index.h..foreac
2eb0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
2ec0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 22 5c 24   {.  writeln "\$
2ed0: 28 4f 42 4a 44 49 52 29 2f 24 7b 73 7d 5f 2e 63  (OBJDIR)/${s}_.c
2ee0: 3a 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 24 73  :\t\$(SRCDIR)/$s
2ef0: 2e 63 20 5c 24 28 4f 42 4a 44 49 52 29 2f 74 72  .c \$(OBJDIR)/tr
2f00: 61 6e 73 6c 61 74 65 22 0a 20 20 77 72 69 74 65  anslate".  write
2f10: 6c 6e 20 22 5c 74 5c 24 28 54 52 41 4e 53 4c 41  ln "\t\$(TRANSLA
2f20: 54 45 29 20 5c 24 28 53 52 43 44 49 52 29 2f 24  TE) \$(SRCDIR)/$
2f30: 73 2e 63 20 3e 5c 24 28 4f 42 4a 44 49 52 29 2f  s.c >\$(OBJDIR)/
2f40: 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20 77 72 69  ${s}_.c\n".  wri
2f50: 74 65 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29  teln "\$(OBJDIR)
2f60: 2f 24 73 2e 6f 3a 5c 74 5c 24 28 4f 42 4a 44 49  /$s.o:\t\$(OBJDI
2f70: 52 29 2f 24 7b 73 7d 5f 2e 63 20 5c 24 28 4f 42  R)/${s}_.c \$(OB
2f80: 4a 44 49 52 29 2f 24 73 2e 68 20 24 65 78 74 72  JDIR)/$s.h $extr
2f90: 61 5f 68 28 24 73 29 20 5c 24 28 53 52 43 44 49  a_h($s) \$(SRCDI
2fa0: 52 29 2f 63 6f 6e 66 69 67 2e 68 22 0a 20 20 77  R)/config.h".  w
2fb0: 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28 58 54 43  riteln "\t\$(XTC
2fc0: 43 29 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29  C) -o \$(OBJDIR)
2fd0: 2f 24 73 2e 6f 20 2d 63 20 5c 24 28 4f 42 4a 44  /$s.o -c \$(OBJD
2fe0: 49 52 29 2f 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20  IR)/${s}_.c\n". 
2ff0: 20 77 72 69 74 65 6c 6e 20 22 24 73 2e 68 3a 5c   writeln "$s.h:\
3000: 74 5c 24 28 4f 42 4a 44 49 52 29 2f 68 65 61 64  t\$(OBJDIR)/head
3010: 65 72 73 22 0a 7d 0a 0a 0a 77 72 69 74 65 6c 6e  ers".}...writeln
3020: 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 73 71 6c   "\$(OBJDIR)/sql
3030: 69 74 65 33 2e 6f 3a 5c 74 5c 24 28 53 52 43 44  ite3.o:\t\$(SRCD
3040: 49 52 29 2f 73 71 6c 69 74 65 33 2e 63 22 0a 73  IR)/sqlite3.c".s
3050: 65 74 20 6f 70 74 20 24 53 51 4c 49 54 45 5f 4f  et opt $SQLITE_O
3060: 50 54 49 4f 4e 53 0a 77 72 69 74 65 6c 6e 20 22  PTIONS.writeln "
3070: 5c 74 5c 24 28 58 54 43 43 29 20 24 6f 70 74 20  \t\$(XTCC) $opt 
3080: 2d 63 20 5c 24 28 53 52 43 44 49 52 29 2f 73 71  -c \$(SRCDIR)/sq
3090: 6c 69 74 65 33 2e 63 20 2d 6f 20 5c 24 28 4f 42  lite3.c -o \$(OB
30a0: 4a 44 49 52 29 2f 73 71 6c 69 74 65 33 2e 6f 5c  JDIR)/sqlite3.o\
30b0: 6e 22 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28  n"..writeln "\$(
30c0: 4f 42 4a 44 49 52 29 2f 73 68 65 6c 6c 2e 6f 3a  OBJDIR)/shell.o:
30d0: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 73 68 65  \t\$(SRCDIR)/she
30e0: 6c 6c 2e 63 22 0a 73 65 74 20 6f 70 74 20 7b 2d  ll.c".set opt {-
30f0: 44 6d 61 69 6e 3d 73 71 6c 69 74 65 33 5f 73 68  Dmain=sqlite3_sh
3100: 65 6c 6c 7d 0a 61 70 70 65 6e 64 20 6f 70 74 20  ell}.append opt 
3110: 22 20 2d 44 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  " -DSQLITE_OMIT_
3120: 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 3d 31  LOAD_EXTENSION=1
3130: 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 5c 24 28  ".writeln "\t\$(
3140: 58 54 43 43 29 20 24 6f 70 74 20 2d 63 20 5c 24  XTCC) $opt -c \$
3150: 28 53 52 43 44 49 52 29 2f 73 68 65 6c 6c 2e 63  (SRCDIR)/shell.c
3160: 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 73   -o \$(OBJDIR)/s
3170: 68 65 6c 6c 2e 6f 5c 6e 22 0a 0a 77 72 69 74 65  hell.o\n"..write
3180: 6c 6e 20 22 5c 24 28 4f 42 4a 44 49 52 29 2f 74  ln "\$(OBJDIR)/t
3190: 68 2e 6f 3a 5c 74 5c 24 28 53 52 43 44 49 52 29  h.o:\t\$(SRCDIR)
31a0: 2f 74 68 2e 63 22 0a 77 72 69 74 65 6c 6e 20 22  /th.c".writeln "
31b0: 5c 74 5c 24 28 58 54 43 43 29 20 2d 49 5c 24 28  \t\$(XTCC) -I\$(
31c0: 53 52 43 44 49 52 29 20 2d 63 20 5c 24 28 53 52  SRCDIR) -c \$(SR
31d0: 43 44 49 52 29 2f 74 68 2e 63 20 2d 6f 20 5c 24  CDIR)/th.c -o \$
31e0: 28 4f 42 4a 44 49 52 29 2f 74 68 2e 6f 5c 6e 22  (OBJDIR)/th.o\n"
31f0: 0a 0a 77 72 69 74 65 6c 6e 20 22 5c 24 28 4f 42  ..writeln "\$(OB
3200: 4a 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 6f 3a  JDIR)/th_lang.o:
3210: 5c 74 5c 24 28 53 52 43 44 49 52 29 2f 74 68 5f  \t\$(SRCDIR)/th_
3220: 6c 61 6e 67 2e 63 22 0a 77 72 69 74 65 6c 6e 20  lang.c".writeln 
3230: 22 5c 74 5c 24 28 58 54 43 43 29 20 2d 49 5c 24  "\t\$(XTCC) -I\$
3240: 28 53 52 43 44 49 52 29 20 2d 63 20 5c 24 28 53  (SRCDIR) -c \$(S
3250: 52 43 44 49 52 29 2f 74 68 5f 6c 61 6e 67 2e 63  RCDIR)/th_lang.c
3260: 20 2d 6f 20 5c 24 28 4f 42 4a 44 49 52 29 2f 74   -o \$(OBJDIR)/t
3270: 68 5f 6c 61 6e 67 2e 6f 5c 6e 22 0a 0a 0a 63 6c  h_lang.o\n"...cl
3280: 6f 73 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65  ose $output_file
3290: 0a 23 0a 23 20 45 6e 64 20 6f 66 20 74 68 65 20  .#.# End of the 
32a0: 6d 61 69 6e 2e 6d 6b 20 6f 75 74 70 75 74 0a 23  main.mk output.#
32b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
32c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
32d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
32e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
32f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23  #############.##
3300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3330: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3340: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 23 23  ############.###
3350: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3360: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3370: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3390: 23 23 23 23 23 23 23 23 23 23 23 0a 23 20 42 65  ###########.# Be
33a0: 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 66 69 6c 65  gin win/Makefile
33b0: 2e 64 6d 63 0a 23 0a 70 75 74 73 20 22 62 75 69  .dmc.#.puts "bui
33c0: 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b  lding ../win/Mak
33d0: 65 66 69 6c 65 2e 64 6d 63 22 0a 73 65 74 20 6f  efile.dmc".set o
33e0: 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f 70 65 6e  utput_file [open
33f0: 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66 69 6c 65   ../win/Makefile
3400: 2e 64 6d 63 20 77 5d 0a 66 63 6f 6e 66 69 67 75  .dmc w].fconfigu
3410: 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20  re $output_file 
3420: 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e  -translation bin
3430: 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 20  ary..writeln {# 
3440: 44 4f 20 4e 4f 54 20 45 44 49 54 0a 23 0a 23 20  DO NOT EDIT.#.# 
3450: 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74  This file is aut
3460: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
3470: 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 6f  ated.  Instead o
3480: 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a 23  f editing this.#
3490: 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b   file, edit "mak
34a0: 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20  emake.tcl" then 
34b0: 72 75 6e 20 22 74 63 6c 73 68 20 73 72 63 2f 6d  run "tclsh src/m
34c0: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74  akemake.tcl".# t
34d0: 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 69  o regenerate thi
34e0: 73 20 66 69 6c 65 2e 0a 42 20 20 20 20 20 20 3d  s file..B      =
34f0: 20 2e 2e 0a 53 52 43 44 49 52 20 3d 20 24 42 5c   ...SRCDIR = $B\
3500: 73 72 63 0a 4f 42 4a 44 49 52 20 3d 20 2e 0a 4f  src.OBJDIR = ..O
3510: 20 20 20 20 20 20 3d 20 2e 6f 62 6a 0a 45 20 20        = .obj.E  
3520: 20 20 20 20 3d 20 2e 65 78 65 0a 0a 0a 23 20 4d      = .exe...# M
3530: 61 79 62 65 20 44 4d 44 49 52 2c 20 53 53 4c 20  aybe DMDIR, SSL 
3540: 6f 72 20 49 4e 43 4c 20 6e 65 65 64 73 20 61 64  or INCL needs ad
3550: 6a 75 73 74 6d 65 6e 74 0a 44 4d 44 49 52 20 20  justment.DMDIR  
3560: 3d 20 63 3a 5c 44 4d 0a 49 4e 43 4c 20 20 20 3d  = c:\DM.INCL   =
3570: 20 2d 49 2e 20 2d 49 24 28 53 52 43 44 49 52 29   -I. -I$(SRCDIR)
3580: 20 2d 49 24 42 5c 77 69 6e 5c 69 6e 63 6c 75 64   -I$B\win\includ
3590: 65 20 2d 49 24 28 44 4d 44 49 52 29 5c 65 78 74  e -I$(DMDIR)\ext
35a0: 72 61 5c 69 6e 63 6c 75 64 65 0a 0a 23 53 53 4c  ra\include..#SSL
35b0: 20 20 20 3d 20 20 2d 44 46 4f 53 53 49 4c 5f 45     =  -DFOSSIL_E
35c0: 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 53 53 4c 20  NABLE_SSL=1.SSL 
35d0: 20 20 20 3d 0a 0a 43 46 4c 41 47 53 20 3d 20 2d     =..CFLAGS = -
35e0: 6f 0a 42 43 43 20 20 20 20 3d 20 24 28 44 4d 44  o.BCC    = $(DMD
35f0: 49 52 29 5c 62 69 6e 5c 64 6d 63 20 24 28 43 46  IR)\bin\dmc $(CF
3600: 4c 41 47 53 29 0a 54 43 43 20 20 20 20 3d 20 24  LAGS).TCC    = $
3610: 28 44 4d 44 49 52 29 5c 62 69 6e 5c 64 6d 63 20  (DMDIR)\bin\dmc 
3620: 24 28 43 46 4c 41 47 53 29 20 24 28 44 4d 43 44  $(CFLAGS) $(DMCD
3630: 45 46 29 20 24 28 53 53 4c 29 20 24 28 49 4e 43  EF) $(SSL) $(INC
3640: 4c 29 0a 4c 49 42 53 20 20 20 3d 20 24 28 44 4d  L).LIBS   = $(DM
3650: 44 49 52 29 5c 65 78 74 72 61 5c 6c 69 62 5c 20  DIR)\extra\lib\ 
3660: 7a 6c 69 62 20 77 73 6f 63 6b 33 32 0a 7d 0a 77  zlib wsock32.}.w
3670: 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 5f 4f  riteln "SQLITE_O
3680: 50 54 49 4f 4e 53 20 3d 20 24 53 51 4c 49 54 45  PTIONS = $SQLITE
3690: 5f 4f 50 54 49 4f 4e 53 5c 6e 22 0a 77 72 69 74  _OPTIONS\n".writ
36a0: 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22  eln -nonewline "
36b0: 53 52 43 20 20 20 3d 20 22 0a 66 6f 72 65 61 63  SRC   = ".foreac
36c0: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
36d0: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
36e0: 6e 65 77 6c 69 6e 65 20 22 24 7b 73 7d 5f 2e 63  newline "${s}_.c
36f0: 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 6e   ".}.writeln "\n
3700: 22 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77  ".writeln -nonew
3710: 6c 69 6e 65 20 22 4f 42 4a 20 20 20 3d 20 22 0a  line "OBJ   = ".
3720: 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74  foreach s [lsort
3730: 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65   $src] {.  write
3740: 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 5c  ln -nonewline "\
3750: 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73 5c 24 4f  $(OBJDIR)\\$s\$O
3760: 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c 24   ".}.writeln "\$
3770: 28 4f 42 4a 44 49 52 29 5c 5c 73 68 65 6c 6c 5c  (OBJDIR)\\shell\
3780: 24 4f 20 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 73  $O \$(OBJDIR)\\s
3790: 71 6c 69 74 65 33 5c 24 4f 20 5c 24 28 4f 42 4a  qlite3\$O \$(OBJ
37a0: 44 49 52 29 5c 5c 74 68 5c 24 4f 20 5c 24 28 4f  DIR)\\th\$O \$(O
37b0: 42 4a 44 49 52 29 5c 5c 74 68 5f 6c 61 6e 67 5c  BJDIR)\\th_lang\
37c0: 24 4f 20 22 0a 77 72 69 74 65 6c 6e 20 7b 0a 0a  $O ".writeln {..
37d0: 52 43 3d 24 28 44 4d 44 49 52 29 5c 62 69 6e 5c  RC=$(DMDIR)\bin\
37e0: 72 63 63 0a 52 43 46 4c 41 47 53 3d 2d 33 32 20  rcc.RCFLAGS=-32 
37f0: 2d 77 31 20 2d 49 24 28 53 52 43 44 49 52 29 20  -w1 -I$(SRCDIR) 
3800: 2f 44 5f 5f 44 4d 43 5f 5f 0a 0a 41 50 50 4e 41  /D__DMC__..APPNA
3810: 4d 45 20 3d 20 24 28 4f 42 4a 44 49 52 29 5c 66  ME = $(OBJDIR)\f
3820: 6f 73 73 69 6c 24 28 45 29 0a 0a 61 6c 6c 3a 20  ossil$(E)..all: 
3830: 24 28 41 50 50 4e 41 4d 45 29 0a 0a 24 28 41 50  $(APPNAME)..$(AP
3840: 50 4e 41 4d 45 29 20 3a 20 74 72 61 6e 73 6c 61  PNAME) : transla
3850: 74 65 24 45 20 6d 6b 69 6e 64 65 78 24 45 20 68  te$E mkindex$E h
3860: 65 61 64 65 72 73 20 20 24 28 4f 42 4a 29 20 24  eaders  $(OBJ) $
3870: 28 4f 42 4a 44 49 52 29 5c 6c 69 6e 6b 0a 09 63  (OBJDIR)\link..c
3880: 64 20 24 28 4f 42 4a 44 49 52 29 20 0a 09 24 28  d $(OBJDIR) ..$(
3890: 44 4d 44 49 52 29 5c 62 69 6e 5c 6c 69 6e 6b 20  DMDIR)\bin\link 
38a0: 40 6c 69 6e 6b 0a 0a 24 28 4f 42 4a 44 49 52 29  @link..$(OBJDIR)
38b0: 5c 66 6f 73 73 69 6c 2e 72 65 73 3a 09 24 42 5c  \fossil.res:.$B\
38c0: 77 69 6e 5c 66 6f 73 73 69 6c 2e 72 63 0a 09 24  win\fossil.rc..$
38d0: 28 52 43 29 20 24 28 52 43 46 4c 41 47 53 29 20  (RC) $(RCFLAGS) 
38e0: 2d 6f 24 40 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44  -o$@ $**..$(OBJD
38f0: 49 52 29 5c 6c 69 6e 6b 3a 20 24 42 5c 77 69 6e  IR)\link: $B\win
3900: 5c 4d 61 6b 65 66 69 6c 65 2e 64 6d 63 20 24 28  \Makefile.dmc $(
3910: 4f 42 4a 44 49 52 29 5c 66 6f 73 73 69 6c 2e 72  OBJDIR)\fossil.r
3920: 65 73 7d 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  es}.writeln -non
3930: 65 77 6c 69 6e 65 20 22 5c 74 2b 65 63 68 6f 20  ewline "\t+echo 
3940: 22 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f  ".foreach s [lso
3950: 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77 72 69  rt $src] {.  wri
3960: 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  teln -nonewline 
3970: 22 24 73 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20  "$s ".}.writeln 
3980: 22 73 68 65 6c 6c 20 73 71 6c 69 74 65 33 20 74  "shell sqlite3 t
3990: 68 20 74 68 5f 6c 61 6e 67 20 3e 20 5c 24 40 22  h th_lang > \$@"
39a0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68  .writeln "\t+ech
39b0: 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22  o fossil >> \$@"
39c0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68  .writeln "\t+ech
39d0: 6f 20 66 6f 73 73 69 6c 20 3e 3e 20 5c 24 40 22  o fossil >> \$@"
39e0: 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65 63 68  .writeln "\t+ech
39f0: 6f 20 5c 24 28 4c 49 42 53 29 20 3e 3e 20 5c 24  o \$(LIBS) >> \$
3a00: 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 2b 65  @".writeln "\t+e
3a10: 63 68 6f 2e 20 3e 3e 20 5c 24 40 22 0a 77 72 69  cho. >> \$@".wri
3a20: 74 65 6c 6e 20 22 5c 74 2b 65 63 68 6f 20 66 6f  teln "\t+echo fo
3a30: 73 73 69 6c 20 3e 3e 20 5c 24 40 22 0a 0a 77 72  ssil >> \$@"..wr
3a40: 69 74 65 6c 6e 20 7b 0a 74 72 61 6e 73 6c 61 74  iteln {.translat
3a50: 65 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c 74  e$E: $(SRCDIR)\t
3a60: 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 42 43  ranslate.c..$(BC
3a70: 43 29 20 2d 6f 24 40 20 24 2a 2a 0a 0a 6d 61 6b  C) -o$@ $**..mak
3a80: 65 68 65 61 64 65 72 73 24 45 3a 20 24 28 53 52  eheaders$E: $(SR
3a90: 43 44 49 52 29 5c 6d 61 6b 65 68 65 61 64 65 72  CDIR)\makeheader
3aa0: 73 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40  s.c..$(BCC) -o$@
3ab0: 20 24 2a 2a 0a 0a 6d 6b 69 6e 64 65 78 24 45 3a   $**..mkindex$E:
3ac0: 20 24 28 53 52 43 44 49 52 29 5c 6d 6b 69 6e 64   $(SRCDIR)\mkind
3ad0: 65 78 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 24  ex.c..$(BCC) -o$
3ae0: 40 20 24 2a 2a 0a 0a 76 65 72 73 69 6f 6e 24 45  @ $**..version$E
3af0: 3a 20 24 42 5c 77 69 6e 5c 76 65 72 73 69 6f 6e  : $B\win\version
3b00: 2e 63 0a 09 24 28 42 43 43 29 20 2d 6f 24 40 20  .c..$(BCC) -o$@ 
3b10: 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29 5c 73  $**..$(OBJDIR)\s
3b20: 68 65 6c 6c 24 4f 20 3a 20 24 28 53 52 43 44 49  hell$O : $(SRCDI
3b30: 52 29 5c 73 68 65 6c 6c 2e 63 0a 09 24 28 54 43  R)\shell.c..$(TC
3b40: 43 29 20 2d 6f 24 40 20 2d 63 20 2d 44 6d 61 69  C) -o$@ -c -Dmai
3b50: 6e 3d 73 71 6c 69 74 65 33 5f 73 68 65 6c 6c 20  n=sqlite3_shell 
3b60: 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53  $(SQLITE_OPTIONS
3b70: 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52 29  ) $**..$(OBJDIR)
3b80: 5c 73 71 6c 69 74 65 33 24 4f 20 3a 20 24 28 53  \sqlite3$O : $(S
3b90: 52 43 44 49 52 29 5c 73 71 6c 69 74 65 33 2e 63  RCDIR)\sqlite3.c
3ba0: 0a 09 24 28 54 43 43 29 20 2d 6f 24 40 20 2d 63  ..$(TCC) -o$@ -c
3bb0: 20 24 28 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e   $(SQLITE_OPTION
3bc0: 53 29 20 24 2a 2a 0a 0a 24 28 4f 42 4a 44 49 52  S) $**..$(OBJDIR
3bd0: 29 5c 74 68 24 4f 20 3a 20 24 28 53 52 43 44 49  )\th$O : $(SRCDI
3be0: 52 29 5c 74 68 2e 63 0a 09 24 28 54 43 43 29 20  R)\th.c..$(TCC) 
3bf0: 2d 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 24 28 4f  -o$@ -c $**..$(O
3c00: 42 4a 44 49 52 29 5c 74 68 5f 6c 61 6e 67 24 4f  BJDIR)\th_lang$O
3c10: 20 3a 20 24 28 53 52 43 44 49 52 29 5c 74 68 5f   : $(SRCDIR)\th_
3c20: 6c 61 6e 67 2e 63 0a 09 24 28 54 43 43 29 20 2d  lang.c..$(TCC) -
3c30: 6f 24 40 20 2d 63 20 24 2a 2a 0a 0a 56 45 52 53  o$@ -c $**..VERS
3c40: 49 4f 4e 2e 68 20 3a 20 76 65 72 73 69 6f 6e 24  ION.h : version$
3c50: 45 20 24 42 5c 6d 61 6e 69 66 65 73 74 2e 75 75  E $B\manifest.uu
3c60: 69 64 20 24 42 5c 6d 61 6e 69 66 65 73 74 0a 09  id $B\manifest..
3c70: 2b 24 2a 2a 20 3e 20 24 40 0a 0a 70 61 67 65 5f  +$** > $@..page_
3c80: 69 6e 64 65 78 2e 68 3a 20 6d 6b 69 6e 64 65 78  index.h: mkindex
3c90: 24 45 20 24 28 53 52 43 29 20 0a 09 2b 24 2a 2a  $E $(SRC) ..+$**
3ca0: 20 3e 20 24 40 0a 0a 63 6c 65 61 6e 3a 0a 09 2d   > $@..clean:..-
3cb0: 64 65 6c 20 24 28 4f 42 4a 44 49 52 29 5c 2a 2e  del $(OBJDIR)\*.
3cc0: 6f 62 6a 0a 09 2d 64 65 6c 20 2a 2e 6f 62 6a 20  obj..-del *.obj 
3cd0: 2a 5f 2e 63 20 2a 2e 68 20 2a 2e 6d 61 70 0a 0a  *_.c *.h *.map..
3ce0: 72 65 61 6c 63 6c 65 61 6e 3a 0a 09 2d 64 65 6c  realclean:..-del
3cf0: 20 24 28 41 50 50 4e 41 4d 45 29 20 74 72 61 6e   $(APPNAME) tran
3d00: 73 6c 61 74 65 24 45 20 6d 6b 69 6e 64 65 78 24  slate$E mkindex$
3d10: 45 20 6d 61 6b 65 68 65 61 64 65 72 73 24 45 20  E makeheaders$E 
3d20: 76 65 72 73 69 6f 6e 24 45 0a 0a 7d 0a 66 6f 72  version$E..}.for
3d30: 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73  each s [lsort $s
3d40: 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20  rc] {.  writeln 
3d50: 22 5c 24 28 4f 42 4a 44 49 52 29 5c 5c 24 73 5c  "\$(OBJDIR)\\$s\
3d60: 24 4f 20 3a 20 24 7b 73 7d 5f 2e 63 20 24 7b 73  $O : ${s}_.c ${s
3d70: 7d 2e 68 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  }.h".  writeln "
3d80: 5c 74 5c 24 28 54 43 43 29 20 2d 6f 5c 24 40 20  \t\$(TCC) -o\$@ 
3d90: 2d 63 20 24 7b 73 7d 5f 2e 63 5c 6e 22 0a 20 20  -c ${s}_.c\n".  
3da0: 77 72 69 74 65 6c 6e 20 22 24 7b 73 7d 5f 2e 63  writeln "${s}_.c
3db0: 20 3a 20 5c 24 28 53 52 43 44 49 52 29 5c 5c 24   : \$(SRCDIR)\\$
3dc0: 73 2e 63 22 0a 20 20 77 72 69 74 65 6c 6e 20 22  s.c".  writeln "
3dd0: 5c 74 2b 74 72 61 6e 73 6c 61 74 65 5c 24 45 20  \t+translate\$E 
3de0: 5c 24 2a 2a 20 3e 20 5c 24 40 5c 6e 22 0a 7d 0a  \$** > \$@\n".}.
3df0: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
3e00: 69 6e 65 20 22 68 65 61 64 65 72 73 3a 20 6d 61  ine "headers: ma
3e10: 6b 65 68 65 61 64 65 72 73 5c 24 45 20 70 61 67  keheaders\$E pag
3e20: 65 5f 69 6e 64 65 78 2e 68 20 56 45 52 53 49 4f  e_index.h VERSIO
3e30: 4e 2e 68 5c 6e 5c 74 20 2b 6d 61 6b 65 68 65 61  N.h\n\t +makehea
3e40: 64 65 72 73 5c 24 45 20 22 0a 66 6f 72 65 61 63  ders\$E ".foreac
3e50: 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63 5d  h s [lsort $src]
3e60: 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e 6f   {.  writeln -no
3e70: 6e 65 77 6c 69 6e 65 20 22 24 7b 73 7d 5f 2e 63  newline "${s}_.c
3e80: 3a 24 73 2e 68 20 22 0a 7d 0a 77 72 69 74 65 6c  :$s.h ".}.writel
3e90: 6e 20 22 5c 24 28 53 52 43 44 49 52 29 5c 5c 73  n "\$(SRCDIR)\\s
3ea0: 71 6c 69 74 65 33 2e 68 20 5c 24 28 53 52 43 44  qlite3.h \$(SRCD
3eb0: 49 52 29 5c 5c 74 68 2e 68 20 56 45 52 53 49 4f  IR)\\th.h VERSIO
3ec0: 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74  N.h".writeln "\t
3ed0: 40 63 6f 70 79 20 2f 59 20 6e 75 6c 3a 20 68 65  @copy /Y nul: he
3ee0: 61 64 65 72 73 22 0a 0a 63 6c 6f 73 65 20 24 6f  aders"..close $o
3ef0: 75 74 70 75 74 5f 66 69 6c 65 0a 23 0a 23 20 45  utput_file.#.# E
3f00: 6e 64 20 6f 66 20 74 68 65 20 77 69 6e 2f 4d 61  nd of the win/Ma
3f10: 6b 65 66 69 6c 65 2e 64 6d 63 20 6f 75 74 70 75  kefile.dmc outpu
3f20: 74 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  t.##############
3f30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3f50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3f70: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
3f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a  ###############.
3fc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3fd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3fe0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3ff0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23  ##############.#
4010: 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b 65 66   Begin win/Makef
4020: 69 6c 65 2e 6d 73 63 0a 23 0a 70 75 74 73 20 22  ile.msc.#.puts "
4030: 62 75 69 6c 64 69 6e 67 20 2e 2e 2f 77 69 6e 2f  building ../win/
4040: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 22 0a 73 65  Makefile.msc".se
4050: 74 20 6f 75 74 70 75 74 5f 66 69 6c 65 20 5b 6f  t output_file [o
4060: 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  pen ../win/Makef
4070: 69 6c 65 2e 6d 73 63 20 77 5d 0a 66 63 6f 6e 66  ile.msc w].fconf
4080: 69 67 75 72 65 20 24 6f 75 74 70 75 74 5f 66 69  igure $output_fi
4090: 6c 65 20 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20  le -translation 
40a0: 62 69 6e 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20  binary..writeln 
40b0: 7b 23 20 44 4f 20 4e 4f 54 20 45 44 49 54 0a 23  {# DO NOT EDIT.#
40c0: 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20  .# This file is 
40d0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65  automatically ge
40e0: 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61  nerated.  Instea
40f0: 64 20 6f 66 20 65 64 69 74 69 6e 67 20 74 68 69  d of editing thi
4100: 73 0a 23 20 66 69 6c 65 2c 20 65 64 69 74 20 22  s.# file, edit "
4110: 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68  makemake.tcl" th
4120: 65 6e 20 72 75 6e 20 22 74 63 6c 73 68 20 73 72  en run "tclsh sr
4130: 63 2f 6d 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a  c/makemake.tcl".
4140: 23 20 74 6f 20 72 65 67 65 6e 65 72 61 74 65 20  # to regenerate 
4150: 74 68 69 73 20 66 69 6c 65 2e 0a 42 20 20 20 20  this file..B    
4160: 20 20 3d 20 2e 2e 0a 53 52 43 44 49 52 20 3d 20    = ...SRCDIR = 
4170: 24 42 5c 73 72 63 0a 4f 42 4a 44 49 52 20 3d 20  $B\src.OBJDIR = 
4180: 2e 0a 4f 58 20 20 20 20 20 3d 20 2e 0a 4f 20 20  ..OX     = ..O  
4190: 20 20 20 20 3d 20 2e 6f 62 6a 0a 45 20 20 20 20      = .obj.E    
41a0: 20 20 3d 20 2e 65 78 65 0a 0a 23 20 4d 61 79 62    = .exe..# Mayb
41b0: 65 20 4d 53 43 44 49 52 2c 20 53 53 4c 2c 20 5a  e MSCDIR, SSL, Z
41c0: 4c 49 42 2c 20 6f 72 20 49 4e 43 4c 20 6e 65 65  LIB, or INCL nee
41d0: 64 73 20 61 64 6a 75 73 74 6d 65 6e 74 0a 4d 53  ds adjustment.MS
41e0: 43 44 49 52 20 3d 20 63 3a 5c 6d 73 63 0a 0a 23  CDIR = c:\msc..#
41f0: 20 55 6e 63 6f 6d 6d 65 6e 74 20 62 65 6c 6f 77   Uncomment below
4200: 20 66 6f 72 20 53 53 4c 20 73 75 70 70 6f 72 74   for SSL support
4210: 0a 53 53 4c 20 3d 0a 53 53 4c 4c 49 42 20 3d 0a  .SSL =.SSLLIB =.
4220: 23 53 53 4c 20 3d 20 2d 44 46 4f 53 53 49 4c 5f  #SSL = -DFOSSIL_
4230: 45 4e 41 42 4c 45 5f 53 53 4c 3d 31 0a 23 53 53  ENABLE_SSL=1.#SS
4240: 4c 4c 49 42 20 20 3d 20 73 73 6c 65 61 79 33 32  LLIB  = ssleay32
4250: 2e 6c 69 62 20 6c 69 62 65 61 79 33 32 2e 6c 69  .lib libeay32.li
4260: 62 20 75 73 65 72 33 32 2e 6c 69 62 20 67 64 69  b user32.lib gdi
4270: 33 32 2e 6c 69 62 20 61 64 76 61 70 69 33 32 2e  32.lib advapi32.
4280: 6c 69 62 0a 0a 23 20 7a 6c 69 62 20 6f 70 74 69  lib..# zlib opti
4290: 6f 6e 73 0a 23 20 57 68 65 6e 20 75 73 69 6e 67  ons.# When using
42a0: 20 70 72 65 63 6f 6d 70 69 6c 65 64 20 66 72 6f   precompiled fro
42b0: 6d 20 68 74 74 70 3a 2f 2f 7a 6c 69 62 2e 6e 65  m http://zlib.ne
42c0: 74 2f 7a 6c 69 62 31 32 35 2d 64 6c 6c 2e 7a 69  t/zlib125-dll.zi
42d0: 70 0a 23 5a 49 4e 43 44 49 52 20 3d 20 43 3a 5c  p.#ZINCDIR = C:\
42e0: 7a 6c 69 62 31 32 35 2d 64 6c 6c 5c 69 6e 63 6c  zlib125-dll\incl
42f0: 75 64 65 0a 23 5a 4c 49 42 44 49 52 20 3d 20 43  ude.#ZLIBDIR = C
4300: 3a 5c 7a 6c 69 62 31 32 35 2d 64 6c 6c 5c 6c 69  :\zlib125-dll\li
4310: 62 0a 23 5a 4c 49 42 20 20 20 20 3d 20 7a 64 6c  b.#ZLIB    = zdl
4320: 6c 2e 6c 69 62 0a 5a 49 4e 43 44 49 52 20 3d 20  l.lib.ZINCDIR = 
4330: 24 28 4d 53 43 44 49 52 29 5c 65 78 74 72 61 5c  $(MSCDIR)\extra\
4340: 69 6e 63 6c 75 64 65 0a 5a 4c 49 42 44 49 52 20  include.ZLIBDIR 
4350: 3d 20 24 28 4d 53 43 44 49 52 29 5c 65 78 74 72  = $(MSCDIR)\extr
4360: 61 5c 6c 69 62 0a 5a 4c 49 42 20 20 20 20 3d 20  a\lib.ZLIB    = 
4370: 7a 6c 69 62 2e 6c 69 62 0a 0a 49 4e 43 4c 20 20  zlib.lib..INCL  
4380: 20 3d 20 2d 49 2e 20 2d 49 24 28 53 52 43 44 49   = -I. -I$(SRCDI
4390: 52 29 20 2d 49 24 42 5c 77 69 6e 5c 69 6e 63 6c  R) -I$B\win\incl
43a0: 75 64 65 20 2d 49 24 28 4d 53 43 44 49 52 29 5c  ude -I$(MSCDIR)\
43b0: 65 78 74 72 61 5c 69 6e 63 6c 75 64 65 20 2d 49  extra\include -I
43c0: 24 28 5a 49 4e 43 44 49 52 29 0a 0a 43 46 4c 41  $(ZINCDIR)..CFLA
43d0: 47 53 20 3d 20 2d 6e 6f 6c 6f 67 6f 20 2d 4d 54  GS = -nologo -MT
43e0: 20 2d 4f 32 0a 42 43 43 20 20 20 20 3d 20 24 28   -O2.BCC    = $(
43f0: 43 43 29 20 24 28 43 46 4c 41 47 53 29 0a 54 43  CC) $(CFLAGS).TC
4400: 43 20 20 20 20 3d 20 24 28 43 43 29 20 2d 63 20  C    = $(CC) -c 
4410: 24 28 43 46 4c 41 47 53 29 20 24 28 4d 53 43 44  $(CFLAGS) $(MSCD
4420: 45 46 29 20 24 28 53 53 4c 29 20 24 28 49 4e 43  EF) $(SSL) $(INC
4430: 4c 29 0a 4c 49 42 53 20 20 20 3d 20 24 28 5a 4c  L).LIBS   = $(ZL
4440: 49 42 29 20 77 73 32 5f 33 32 2e 6c 69 62 20 24  IB) ws2_32.lib $
4450: 28 53 53 4c 4c 49 42 29 0a 4c 49 42 44 49 52 20  (SSLLIB).LIBDIR 
4460: 3d 20 2d 4c 49 42 50 41 54 48 3a 24 28 4d 53 43  = -LIBPATH:$(MSC
4470: 44 49 52 29 5c 65 78 74 72 61 5c 6c 69 62 20 2d  DIR)\extra\lib -
4480: 4c 49 42 50 41 54 48 3a 24 28 5a 4c 49 42 44 49  LIBPATH:$(ZLIBDI
4490: 52 29 0a 7d 0a 72 65 67 73 75 62 20 2d 61 6c 6c  R).}.regsub -all
44a0: 20 7b 5b 2d 5d 44 7d 20 24 53 51 4c 49 54 45 5f   {[-]D} $SQLITE_
44b0: 4f 50 54 49 4f 4e 53 20 7b 2f 44 7d 20 4d 53 43  OPTIONS {/D} MSC
44c0: 5f 53 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 0a  _SQLITE_OPTIONS.
44d0: 77 72 69 74 65 6c 6e 20 22 53 51 4c 49 54 45 5f  writeln "SQLITE_
44e0: 4f 50 54 49 4f 4e 53 20 3d 20 24 4d 53 43 5f 53  OPTIONS = $MSC_S
44f0: 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 5c 6e 22  QLITE_OPTIONS\n"
4500: 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c  .writeln -nonewl
4510: 69 6e 65 20 22 53 52 43 20 20 20 3d 20 22 0a 66  ine "SRC   = ".f
4520: 6f 72 65 61 63 68 20 73 20 5b 6c 73 6f 72 74 20  oreach s [lsort 
4530: 24 73 72 63 5d 20 7b 0a 20 20 77 72 69 74 65 6c  $src] {.  writel
4540: 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 22 24 7b  n -nonewline "${
4550: 73 7d 5f 2e 63 20 22 0a 7d 0a 77 72 69 74 65 6c  s}_.c ".}.writel
4560: 6e 20 22 5c 6e 22 0a 77 72 69 74 65 6c 6e 20 2d  n "\n".writeln -
4570: 6e 6f 6e 65 77 6c 69 6e 65 20 22 4f 42 4a 20 20  nonewline "OBJ  
4580: 20 3d 20 22 0a 66 6f 72 65 61 63 68 20 73 20 5b   = ".foreach s [
4590: 6c 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20  lsort $src] {.  
45a0: 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69  writeln -nonewli
45b0: 6e 65 20 22 5c 24 28 4f 58 29 5c 5c 24 73 5c 24  ne "\$(OX)\\$s\$
45c0: 4f 20 22 0a 7d 0a 77 72 69 74 65 6c 6e 20 22 5c  O ".}.writeln "\
45d0: 24 28 4f 58 29 5c 5c 73 68 65 6c 6c 5c 24 4f 20  $(OX)\\shell\$O 
45e0: 5c 24 28 4f 58 29 5c 5c 73 71 6c 69 74 65 33 5c  \$(OX)\\sqlite3\
45f0: 24 4f 20 5c 24 28 4f 58 29 5c 5c 74 68 5c 24 4f  $O \$(OX)\\th\$O
4600: 20 5c 24 28 4f 58 29 5c 5c 74 68 5f 6c 61 6e 67   \$(OX)\\th_lang
4610: 5c 24 4f 20 22 0a 77 72 69 74 65 6c 6e 20 7b 0a  \$O ".writeln {.
4620: 0a 41 50 50 4e 41 4d 45 20 3d 20 24 28 4f 58 29  .APPNAME = $(OX)
4630: 5c 66 6f 73 73 69 6c 24 28 45 29 0a 0a 61 6c 6c  \fossil$(E)..all
4640: 3a 20 24 28 4f 58 29 20 24 28 41 50 50 4e 41 4d  : $(OX) $(APPNAM
4650: 45 29 0a 0a 24 28 41 50 50 4e 41 4d 45 29 20 3a  E)..$(APPNAME) :
4660: 20 74 72 61 6e 73 6c 61 74 65 24 45 20 6d 6b 69   translate$E mki
4670: 6e 64 65 78 24 45 20 68 65 61 64 65 72 73 20 24  ndex$E headers $
4680: 28 4f 42 4a 29 20 24 28 4f 58 29 5c 6c 69 6e 6b  (OBJ) $(OX)\link
4690: 6f 70 74 73 0a 09 63 64 20 24 28 4f 58 29 20 0a  opts..cd $(OX) .
46a0: 09 6c 69 6e 6b 20 2d 4c 49 4e 4b 20 2d 4f 55 54  .link -LINK -OUT
46b0: 3a 24 40 20 24 28 4c 49 42 44 49 52 29 20 40 6c  :$@ $(LIBDIR) @l
46c0: 69 6e 6b 6f 70 74 73 0a 0a 24 28 4f 58 29 5c 6c  inkopts..$(OX)\l
46d0: 69 6e 6b 6f 70 74 73 3a 20 24 42 5c 77 69 6e 5c  inkopts: $B\win\
46e0: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 7d 0a 77 72  Makefile.msc}.wr
46f0: 69 74 65 6c 6e 20 2d 6e 6f 6e 65 77 6c 69 6e 65  iteln -nonewline
4700: 20 22 5c 74 65 63 68 6f 20 22 0a 66 6f 72 65 61   "\techo ".forea
4710: 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63  ch s [lsort $src
4720: 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ] {.  writeln -n
4730: 6f 6e 65 77 6c 69 6e 65 20 22 24 73 20 22 0a 7d  onewline "$s ".}
4740: 0a 77 72 69 74 65 6c 6e 20 22 73 71 6c 69 74 65  .writeln "sqlite
4750: 33 20 74 68 20 74 68 5f 6c 61 6e 67 20 3e 20 5c  3 th th_lang > \
4760: 24 40 22 0a 77 72 69 74 65 6c 6e 20 22 5c 74 65  $@".writeln "\te
4770: 63 68 6f 20 5c 24 28 4c 49 42 53 29 20 3e 3e 20  cho \$(LIBS) >> 
4780: 5c 24 40 5c 6e 5c 6e 22 0a 0a 77 72 69 74 65 6c  \$@\n\n"..writel
4790: 6e 20 7b 0a 0a 24 28 4f 58 29 3a 0a 09 40 2d 6d  n {..$(OX):..@-m
47a0: 6b 64 69 72 20 24 40 0a 0a 74 72 61 6e 73 6c 61  kdir $@..transla
47b0: 74 65 24 45 3a 20 24 28 53 52 43 44 49 52 29 5c  te$E: $(SRCDIR)\
47c0: 74 72 61 6e 73 6c 61 74 65 2e 63 0a 09 24 28 42  translate.c..$(B
47d0: 43 43 29 20 24 2a 2a 0a 0a 6d 61 6b 65 68 65 61  CC) $**..makehea
47e0: 64 65 72 73 24 45 3a 20 24 28 53 52 43 44 49 52  ders$E: $(SRCDIR
47f0: 29 5c 6d 61 6b 65 68 65 61 64 65 72 73 2e 63 0a  )\makeheaders.c.
4800: 09 24 28 42 43 43 29 20 24 2a 2a 0a 0a 6d 6b 69  .$(BCC) $**..mki
4810: 6e 64 65 78 24 45 3a 20 24 28 53 52 43 44 49 52  ndex$E: $(SRCDIR
4820: 29 5c 6d 6b 69 6e 64 65 78 2e 63 0a 09 24 28 42  )\mkindex.c..$(B
4830: 43 43 29 20 24 2a 2a 0a 0a 76 65 72 73 69 6f 6e  CC) $**..version
4840: 24 45 3a 20 24 42 5c 77 69 6e 5c 76 65 72 73 69  $E: $B\win\versi
4850: 6f 6e 2e 63 0a 09 24 28 42 43 43 29 20 24 2a 2a  on.c..$(BCC) $**
4860: 0a 0a 24 28 4f 58 29 5c 73 68 65 6c 6c 24 4f 20  ..$(OX)\shell$O 
4870: 3a 20 24 28 53 52 43 44 49 52 29 5c 73 68 65 6c  : $(SRCDIR)\shel
4880: 6c 2e 63 0a 09 24 28 54 43 43 29 20 2f 46 6f 24  l.c..$(TCC) /Fo$
4890: 40 20 2f 44 6d 61 69 6e 3d 73 71 6c 69 74 65 33  @ /Dmain=sqlite3
48a0: 5f 73 68 65 6c 6c 20 24 28 53 51 4c 49 54 45 5f  _shell $(SQLITE_
48b0: 4f 50 54 49 4f 4e 53 29 20 2d 63 20 73 68 65 6c  OPTIONS) -c shel
48c0: 6c 5f 2e 63 0a 0a 24 28 4f 58 29 5c 73 71 6c 69  l_.c..$(OX)\sqli
48d0: 74 65 33 24 4f 20 3a 20 24 28 53 52 43 44 49 52  te3$O : $(SRCDIR
48e0: 29 5c 73 71 6c 69 74 65 33 2e 63 0a 09 24 28 54  )\sqlite3.c..$(T
48f0: 43 43 29 20 2f 46 6f 24 40 20 2d 63 20 24 28 53  CC) /Fo$@ -c $(S
4900: 51 4c 49 54 45 5f 4f 50 54 49 4f 4e 53 29 20 24  QLITE_OPTIONS) $
4910: 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68 24 4f 20 3a  **..$(OX)\th$O :
4920: 20 24 28 53 52 43 44 49 52 29 5c 74 68 2e 63 0a   $(SRCDIR)\th.c.
4930: 09 24 28 54 43 43 29 20 2f 46 6f 24 40 20 2d 63  .$(TCC) /Fo$@ -c
4940: 20 24 2a 2a 0a 0a 24 28 4f 58 29 5c 74 68 5f 6c   $**..$(OX)\th_l
4950: 61 6e 67 24 4f 20 3a 20 24 28 53 52 43 44 49 52  ang$O : $(SRCDIR
4960: 29 5c 74 68 5f 6c 61 6e 67 2e 63 0a 09 24 28 54  )\th_lang.c..$(T
4970: 43 43 29 20 2f 46 6f 24 40 20 2d 63 20 24 2a 2a  CC) /Fo$@ -c $**
4980: 0a 0a 56 45 52 53 49 4f 4e 2e 68 20 3a 20 76 65  ..VERSION.h : ve
4990: 72 73 69 6f 6e 24 45 20 24 42 5c 6d 61 6e 69 66  rsion$E $B\manif
49a0: 65 73 74 2e 75 75 69 64 20 24 42 5c 6d 61 6e 69  est.uuid $B\mani
49b0: 66 65 73 74 0a 09 24 2a 2a 20 3e 20 24 40 0a 0a  fest..$** > $@..
49c0: 70 61 67 65 5f 69 6e 64 65 78 2e 68 3a 20 6d 6b  page_index.h: mk
49d0: 69 6e 64 65 78 24 45 20 24 28 53 52 43 29 20 0a  index$E $(SRC) .
49e0: 09 24 2a 2a 20 3e 20 24 40 0a 0a 63 6c 65 61 6e  .$** > $@..clean
49f0: 3a 0a 09 2d 64 65 6c 20 24 28 4f 58 29 5c 2a 2e  :..-del $(OX)\*.
4a00: 6f 62 6a 0a 09 2d 64 65 6c 20 2a 2e 6f 62 6a 20  obj..-del *.obj 
4a10: 2a 5f 2e 63 20 2a 2e 68 20 2a 2e 6d 61 70 0a 09  *_.c *.h *.map..
4a20: 2d 64 65 6c 20 68 65 61 64 65 72 73 20 6c 69 6e  -del headers lin
4a30: 6b 6f 70 74 73 0a 0a 72 65 61 6c 63 6c 65 61 6e  kopts..realclean
4a40: 3a 0a 09 2d 64 65 6c 20 24 28 41 50 50 4e 41 4d  :..-del $(APPNAM
4a50: 45 29 20 74 72 61 6e 73 6c 61 74 65 24 45 20 6d  E) translate$E m
4a60: 6b 69 6e 64 65 78 24 45 20 6d 61 6b 65 68 65 61  kindex$E makehea
4a70: 64 65 72 73 24 45 20 76 65 72 73 69 6f 6e 24 45  ders$E version$E
4a80: 0a 0a 7d 0a 66 6f 72 65 61 63 68 20 73 20 5b 6c  ..}.foreach s [l
4a90: 73 6f 72 74 20 24 73 72 63 5d 20 7b 0a 20 20 77  sort $src] {.  w
4aa0: 72 69 74 65 6c 6e 20 22 5c 24 28 4f 58 29 5c 5c  riteln "\$(OX)\\
4ab0: 24 73 5c 24 4f 20 3a 20 24 7b 73 7d 5f 2e 63 20  $s\$O : ${s}_.c 
4ac0: 24 7b 73 7d 2e 68 22 0a 20 20 77 72 69 74 65 6c  ${s}.h".  writel
4ad0: 6e 20 22 5c 74 5c 24 28 54 43 43 29 20 2f 46 6f  n "\t\$(TCC) /Fo
4ae0: 5c 24 40 20 2d 63 20 24 7b 73 7d 5f 2e 63 5c 6e  \$@ -c ${s}_.c\n
4af0: 22 0a 20 20 77 72 69 74 65 6c 6e 20 22 24 7b 73  ".  writeln "${s
4b00: 7d 5f 2e 63 20 3a 20 5c 24 28 53 52 43 44 49 52  }_.c : \$(SRCDIR
4b10: 29 5c 5c 24 73 2e 63 22 0a 20 20 77 72 69 74 65  )\\$s.c".  write
4b20: 6c 6e 20 22 5c 74 74 72 61 6e 73 6c 61 74 65 5c  ln "\ttranslate\
4b30: 24 45 20 5c 24 2a 2a 20 3e 20 5c 24 40 5c 6e 22  $E \$** > \$@\n"
4b40: 0a 7d 0a 0a 77 72 69 74 65 6c 6e 20 2d 6e 6f 6e  .}..writeln -non
4b50: 65 77 6c 69 6e 65 20 22 68 65 61 64 65 72 73 3a  ewline "headers:
4b60: 20 6d 61 6b 65 68 65 61 64 65 72 73 5c 24 45 20   makeheaders\$E 
4b70: 70 61 67 65 5f 69 6e 64 65 78 2e 68 20 56 45 52  page_index.h VER
4b80: 53 49 4f 4e 2e 68 5c 6e 5c 74 6d 61 6b 65 68 65  SION.h\n\tmakehe
4b90: 61 64 65 72 73 5c 24 45 20 22 0a 66 6f 72 65 61  aders\$E ".forea
4ba0: 63 68 20 73 20 5b 6c 73 6f 72 74 20 24 73 72 63  ch s [lsort $src
4bb0: 5d 20 7b 0a 20 20 77 72 69 74 65 6c 6e 20 2d 6e  ] {.  writeln -n
4bc0: 6f 6e 65 77 6c 69 6e 65 20 22 24 7b 73 7d 5f 2e  onewline "${s}_.
4bd0: 63 3a 24 73 2e 68 20 22 0a 7d 0a 77 72 69 74 65  c:$s.h ".}.write
4be0: 6c 6e 20 22 5c 24 28 53 52 43 44 49 52 29 5c 5c  ln "\$(SRCDIR)\\
4bf0: 73 71 6c 69 74 65 33 2e 68 20 5c 24 28 53 52 43  sqlite3.h \$(SRC
4c00: 44 49 52 29 5c 5c 74 68 2e 68 20 56 45 52 53 49  DIR)\\th.h VERSI
4c10: 4f 4e 2e 68 22 0a 77 72 69 74 65 6c 6e 20 22 5c  ON.h".writeln "\
4c20: 74 40 63 6f 70 79 20 2f 59 20 6e 75 6c 3a 20 68  t@copy /Y nul: h
4c30: 65 61 64 65 72 73 22 0a 0a 0a 63 6c 6f 73 65 20  eaders"...close 
4c40: 24 6f 75 74 70 75 74 5f 66 69 6c 65 0a 23 0a 23  $output_file.#.#
4c50: 20 45 6e 64 20 6f 66 20 74 68 65 20 77 69 6e 2f   End of the win/
4c60: 4d 61 6b 65 66 69 6c 65 2e 6d 73 63 20 6f 75 74  Makefile.msc out
4c70: 70 75 74 0a 23 23 23 23 23 23 23 23 23 23 23 23  put.############
4c80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4c90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4ca0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4cb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4cc0: 23 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ##.#############
4cd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d10: 23 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  #.##############
4d20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
4d60: 0a 23 20 42 65 67 69 6e 20 77 69 6e 2f 4d 61 6b  .# Begin win/Mak
4d70: 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61  efile.PellesCGMa
4d80: 6b 65 0a 23 0a 70 75 74 73 20 22 62 75 69 6c 64  ke.#.puts "build
4d90: 69 6e 67 20 2e 2e 2f 77 69 6e 2f 4d 61 6b 65 66  ing ../win/Makef
4da0: 69 6c 65 2e 50 65 6c 6c 65 73 43 47 4d 61 6b 65  ile.PellesCGMake
4db0: 22 0a 73 65 74 20 6f 75 74 70 75 74 5f 66 69 6c  ".set output_fil
4dc0: 65 20 5b 6f 70 65 6e 20 2e 2e 2f 77 69 6e 2f 4d  e [open ../win/M
4dd0: 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43 47  akefile.PellesCG
4de0: 4d 61 6b 65 20 77 5d 0a 66 63 6f 6e 66 69 67 75  Make w].fconfigu
4df0: 72 65 20 24 6f 75 74 70 75 74 5f 66 69 6c 65 20  re $output_file 
4e00: 2d 74 72 61 6e 73 6c 61 74 69 6f 6e 20 62 69 6e  -translation bin
4e10: 61 72 79 0a 0a 77 72 69 74 65 6c 6e 20 7b 23 20  ary..writeln {# 
4e20: 44 4f 20 4e 4f 54 20 45 44 49 54 0a 23 0a 23 20  DO NOT EDIT.#.# 
4e30: 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74  This file is aut
4e40: 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72  omatically gener
4e50: 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 20 6f  ated.  Instead o
4e60: 66 20 65 64 69 74 69 6e 67 20 74 68 69 73 0a 23  f editing this.#
4e70: 20 66 69 6c 65 2c 20 65 64 69 74 20 22 6d 61 6b   file, edit "mak
4e80: 65 6d 61 6b 65 2e 74 63 6c 22 20 74 68 65 6e 20  emake.tcl" then 
4e90: 72 75 6e 20 22 74 63 6c 73 68 20 73 72 63 2f 6d  run "tclsh src/m
4ea0: 61 6b 65 6d 61 6b 65 2e 74 63 6c 22 0a 23 20 74  akemake.tcl".# t
4eb0: 6f 20 72 65 67 65 6e 65 72 61 74 65 20 74 68 69  o regenerate thi
4ec0: 73 20 66 69 6c 65 2e 0a 23 0a 23 20 48 6f 77 54  s file..#.# HowT
4ed0: 6f 0a 23 20 2d 2d 2d 2d 2d 0a 23 0a 23 20 54 68  o.# -----.#.# Th
4ee0: 69 73 20 69 73 20 61 20 4d 61 6b 65 66 69 6c 65  is is a Makefile
4ef0: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 66 6f 73 73   to compile foss
4f00: 69 6c 20 77 69 74 68 20 50 65 6c 6c 65 73 43 20  il with PellesC 
4f10: 66 72 6f 6d 0a 23 20 20 68 74 74 70 3a 2f 2f 77  from.#  http://w
4f20: 77 77 2e 73 6d 6f 72 67 61 73 62 6f 72 64 65 74  ww.smorgasbordet
4f30: 2e 63 6f 6d 2f 70 65 6c 6c 65 73 63 2f 69 6e 64  .com/pellesc/ind
4f40: 65 78 2e 68 74 6d 0a 23 20 49 6e 20 61 64 64 69  ex.htm.# In addi
4f50: 74 69 6f 6e 20 74 6f 20 74 68 65 20 43 6f 6d 70  tion to the Comp
4f60: 69 6c 65 72 20 65 6e 76 72 69 6f 6e 6d 65 6e 74  iler envrionment
4f70: 2c 20 79 6f 75 20 6e 65 65 64 0a 23 20 20 67 6d  , you need.#  gm
4f80: 61 6b 65 20 66 72 6f 6d 20 68 74 74 70 3a 2f 2f  ake from http://
4f90: 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f  sourceforge.net/
4fa0: 70 72 6f 6a 65 63 74 73 2f 75 6e 78 75 74 69 6c  projects/unxutil
4fb0: 73 2f 2c 20 50 65 6c 6c 65 73 20 6d 61 6b 65 20  s/, Pelles make 
4fc0: 76 65 72 73 69 6f 6e 0a 23 20 20 20 20 20 20 20  version.#       
4fd0: 20 63 6f 75 6c 64 6e 27 74 20 68 61 6e 64 6c 65   couldn't handle
4fe0: 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 64 65 70   the complex dep
4ff0: 65 6e 64 65 6e 63 69 65 73 20 69 6e 20 74 68 69  endencies in thi
5000: 73 20 62 75 69 6c 64 0a 23 20 20 7a 6c 69 62 20  s build.#  zlib 
5010: 73 6f 75 72 63 65 73 0a 23 20 54 68 65 6e 20 79  sources.# Then y
5020: 6f 75 20 64 6f 0a 23 20 31 2e 20 63 72 65 61 74  ou do.# 1. creat
5030: 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 50 65  e a directory Pe
5040: 6c 6c 65 73 43 20 69 6e 20 74 68 65 20 70 72 6f  llesC in the pro
5050: 6a 65 63 74 20 72 6f 6f 74 20 64 69 72 65 63 74  ject root direct
5060: 6f 72 79 0a 23 20 32 2e 20 43 68 61 6e 67 65 20  ory.# 2. Change 
5070: 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 50 65  the variables Pe
5080: 6c 6c 65 73 43 44 69 72 2f 5a 4c 49 42 53 52 43  llesCDir/ZLIBSRC
5090: 44 49 52 20 74 6f 20 74 68 65 20 70 61 74 68 20  DIR to the path 
50a0: 6f 66 20 79 6f 75 72 20 69 6e 73 74 61 6c 6c 61  of your installa
50b0: 74 69 6f 6e 0a 23 20 33 2e 20 6f 70 65 6e 20 61  tion.# 3. open a
50c0: 20 64 6f 73 20 70 72 6f 6d 70 74 20 77 69 6e 64   dos prompt wind
50d0: 6f 77 20 61 6e 64 20 63 68 61 6e 67 65 20 77 6f  ow and change wo
50e0: 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20  rking directory 
50f0: 69 6e 74 6f 20 50 65 6c 6c 65 73 43 20 28 73 74  into PellesC (st
5100: 65 70 20 31 29 0a 23 20 34 2e 20 72 75 6e 20 67  ep 1).# 4. run g
5110: 6d 61 6b 65 20 2d 66 20 2e 2e 5c 77 69 6e 5c 4d  make -f ..\win\M
5120: 61 6b 65 66 69 6c 65 2e 50 65 6c 6c 65 73 43 47  akefile.PellesCG
5130: 4d 61 6b 65 0a 23 0a 23 20 74 68 69 73 20 66 69  Make.#.# this fi
5140: 6c 65 20 69 73 20 74 65 73 74 65 64 20 77 69 74  le is tested wit
5150: 68 0a 23 20 20 20 50 65 6c 6c 65 73 43 20 20 20  h.#   PellesC   
5160: 20 20 20 20 20 20 35 2e 30 30 2e 31 33 0a 23 20        5.00.13.# 
5170: 20 20 67 6d 61 6b 65 20 20 20 20 20 20 20 20 20    gmake         
5180: 20 20 33 2e 38 30 0a 23 20 20 20 7a 6c 69 62 20    3.80.#   zlib 
5190: 73 6f 75 72 63 65 73 20 20 20 20 31 2e 32 2e 35  sources    1.2.5
51a0: 0a 23 20 20 20 57 69 6e 64 6f 77 73 20 58 50 20  .#   Windows XP 
51b0: 53 50 20 32 0a 23 20 61 6e 64 0a 23 20 20 20 50  SP 2.# and.#   P
51c0: 65 6c 6c 65 73 43 20 20 20 20 20 20 20 20 20 36  ellesC         6
51d0: 2e 30 30 2e 34 0a 23 20 20 20 67 6d 61 6b 65 20  .00.4.#   gmake 
51e0: 20 20 20 20 20 20 20 20 20 20 33 2e 38 30 0a 23            3.80.#
51f0: 20 20 20 7a 6c 69 62 20 73 6f 75 72 63 65 73 20     zlib sources 
5200: 20 20 20 31 2e 32 2e 35 0a 23 20 20 20 57 69 6e     1.2.5.#   Win
5210: 64 6f 77 73 20 37 20 48 6f 6d 65 20 50 72 65 6d  dows 7 Home Prem
5220: 69 75 6d 0a 23 20 20 0a 0a 23 20 20 0a 50 65 6c  ium.#  ..#  .Pel
5230: 6c 65 73 43 44 69 72 3d 63 3a 5c 50 72 6f 67 72  lesCDir=c:\Progr
5240: 61 6d 6d 65 5c 50 65 6c 6c 65 73 43 0a 0a 23 20  amme\PellesC..# 
5250: 53 65 6c 65 63 74 20 62 65 74 77 65 65 6e 20 33  Select between 3
5260: 32 2f 36 34 20 62 69 74 20 63 6f 64 65 2c 20 64  2/64 bit code, d
5270: 65 66 61 75 6c 74 20 69 73 20 33 32 20 62 69 74  efault is 32 bit
5280: 0a 23 54 41 52 47 45 54 56 45 52 53 49 4f 4e 3d  .#TARGETVERSION=
5290: 36 34 0a 0a 69 66 65 71 20 28 24 28 54 41 52 47  64..ifeq ($(TARG
52a0: 45 54 56 45 52 53 49 4f 4e 29 2c 36 34 29 0a 23  ETVERSION),64).#
52b0: 20 36 34 20 62 69 74 20 76 65 72 73 69 6f 6e 0a   64 bit version.
52c0: 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f 43 43  TARGETMACHINE_CC
52d0: 3d 61 6d 64 36 34 0a 54 41 52 47 45 54 4d 41 43  =amd64.TARGETMAC
52e0: 48 49 4e 45 5f 4c 4e 3d 61 6d 64 36 34 0a 54 41  HINE_LN=amd64.TA
52f0: 52 47 45 54 45 58 54 45 4e 44 3d 36 34 0a 65 6c  RGETEXTEND=64.el
5300: 73 65 0a 23 20 33 32 20 62 69 74 20 76 65 72 73  se.# 32 bit vers
5310: 69 6f 6e 0a 54 41 52 47 45 54 4d 41 43 48 49 4e  ion.TARGETMACHIN
5320: 45 5f 43 43 3d 78 38 36 0a 54 41 52 47 45 54 4d  E_CC=x86.TARGETM
5330: 41 43 48 49 4e 45 5f 4c 4e 3d 69 78 38 36 0a 54  ACHINE_LN=ix86.T
5340: 41 52 47 45 54 45 58 54 45 4e 44 3d 0a 65 6e 64  ARGETEXTEND=.end
5350: 69 66 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65  if..# define the
5360: 20 70 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f   project directo
5370: 72 69 65 73 0a 42 3d 2e 2e 0a 53 52 43 44 49 52  ries.B=...SRCDIR
5380: 3d 24 28 42 29 2f 73 72 63 2f 0a 57 49 4e 44 49  =$(B)/src/.WINDI
5390: 52 3d 24 28 42 29 2f 77 69 6e 2f 0a 5a 4c 49 42  R=$(B)/win/.ZLIB
53a0: 53 52 43 44 49 52 3d 2e 2e 2f 2e 2e 2f 7a 6c 69  SRCDIR=../../zli
53b0: 62 2f 0a 0a 23 20 64 65 66 69 6e 65 20 6c 69 6e  b/..# define lin
53c0: 6b 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20  ker command and 
53d0: 6f 70 74 69 6f 6e 73 0a 4c 49 4e 4b 3d 24 28 50  options.LINK=$(P
53e0: 65 6c 6c 65 73 43 44 69 72 29 2f 62 69 6e 2f 70  ellesCDir)/bin/p
53f0: 6f 6c 69 6e 6b 2e 65 78 65 0a 4c 49 4e 4b 46 4c  olink.exe.LINKFL
5400: 41 47 53 3d 2d 73 75 62 73 79 73 74 65 6d 3a 63  AGS=-subsystem:c
5410: 6f 6e 73 6f 6c 65 20 2d 6d 61 63 68 69 6e 65 3a  onsole -machine:
5420: 24 28 54 41 52 47 45 54 4d 41 43 48 49 4e 45 5f  $(TARGETMACHINE_
5430: 4c 4e 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 50  LN) /LIBPATH:$(P
5440: 65 6c 6c 65 73 43 44 69 72 29 5c 6c 69 62 5c 77  ellesCDir)\lib\w
5450: 69 6e 24 28 54 41 52 47 45 54 45 58 54 45 4e 44  in$(TARGETEXTEND
5460: 29 20 2f 4c 49 42 50 41 54 48 3a 24 28 50 65 6c  ) /LIBPATH:$(Pel
5470: 6c 65 73 43 44 69 72 29 5c 6c 69 62 20 6b 65 72  lesCDir)\lib ker
5480: 6e 65 6c 33 32 2e 6c 69 62 20 61 64 76 61 70 69  nel32.lib advapi
5490: 33 32 2e 6c 69 62 20 64 65 6c 61 79 69 6d 70 24  32.lib delayimp$
54a0: 28 54 41 52 47 45 54 45 58 54 45 4e 44 29 2e 6c  (TARGETEXTEND).l
54b0: 69 62 20 57 73 6f 63 6b 33 32 2e 6c 69 62 20 43  ib Wsock32.lib C
54c0: 72 74 6d 74 24 28 54 41 52 47 45 54 45 58 54 45  rtmt$(TARGETEXTE
54d0: 4e 44 29 2e 6c 69 62 0a 0a 23 20 64 65 66 69 6e  ND).lib..# defin
54e0: 65 20 73 74 61 6e 64 61 72 64 20 43 2d 63 6f 6d  e standard C-com
54f0: 70 69 6c 65 72 20 61 6e 64 20 66 6c 61 67 73 2c  piler and flags,
5500: 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65   used to compile
5510: 0a 23 20 74 68 65 20 66 6f 73 73 69 6c 20 62 69  .# the fossil bi
5520: 6e 61 72 79 2e 20 53 6f 6d 65 20 73 70 65 63 69  nary. Some speci
5530: 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66  al definitions f
5540: 6f 6c 6c 6f 77 20 66 6f 72 0a 23 20 73 70 65 63  ollow for.# spec
5550: 69 61 6c 20 66 69 6c 65 73 20 66 6f 6c 6c 6f 77  ial files follow
5560: 0a 43 43 3d 24 28 50 65 6c 6c 65 73 43 44 69 72  .CC=$(PellesCDir
5570: 29 5c 62 69 6e 5c 70 6f 63 63 2e 65 78 65 0a 44  )\bin\pocc.exe.D
5580: 45 46 49 4e 45 53 3d 2d 44 5f 70 67 6d 70 74 72  EFINES=-D_pgmptr
5590: 3d 67 2e 61 72 67 76 5b 30 5d 0a 43 43 46 4c 41  =g.argv[0].CCFLA
55a0: 47 53 3d 2d 54 24 28 54 41 52 47 45 54 4d 41 43  GS=-T$(TARGETMAC
55b0: 48 49 4e 45 5f 43 43 29 2d 63 6f 66 66 20 2d 4f  HINE_CC)-coff -O
55c0: 74 20 2d 57 32 20 2d 47 64 20 2d 47 6f 20 2d 5a  t -W2 -Gd -Go -Z
55d0: 65 20 2d 4d 54 20 24 28 44 45 46 49 4e 45 53 29  e -MT $(DEFINES)
55e0: 0a 49 4e 43 4c 55 44 45 3d 2f 49 20 24 28 50 65  .INCLUDE=/I $(Pe
55f0: 6c 6c 65 73 43 44 69 72 29 5c 49 6e 63 6c 75 64  llesCDir)\Includ
5600: 65 5c 57 69 6e 20 2f 49 20 24 28 50 65 6c 6c 65  e\Win /I $(Pelle
5610: 73 43 44 69 72 29 5c 49 6e 63 6c 75 64 65 20 2f  sCDir)\Include /
5620: 49 20 24 28 5a 4c 49 42 53 52 43 44 49 52 29 20  I $(ZLIBSRCDIR) 
5630: 2f 49 20 24 28 53 52 43 44 49 52 29 0a 0a 23 20  /I $(SRCDIR)..# 
5640: 64 65 66 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20  define commands 
5650: 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65  for building the
5660: 20 77 69 6e 64 6f 77 73 20 72 65 73 6f 75 72 63   windows resourc
5670: 65 20 66 69 6c 65 73 0a 52 45 53 4f 55 52 43 45  e files.RESOURCE
5680: 3d 66 6f 73 73 69 6c 2e 72 65 73 0a 52 43 3d 24  =fossil.res.RC=$
5690: 28 50 65 6c 6c 65 73 43 44 69 72 29 5c 62 69 6e  (PellesCDir)\bin
56a0: 5c 70 6f 72 63 2e 65 78 65 0a 52 43 46 4c 41 47  \porc.exe.RCFLAG
56b0: 53 3d 24 28 49 4e 43 4c 55 44 45 29 20 2d 44 5f  S=$(INCLUDE) -D_
56c0: 5f 50 4f 43 43 5f 5f 3d 31 20 2d 44 5f 4d 5f 58  _POCC__=1 -D_M_X
56d0: 24 28 54 41 52 47 45 54 56 45 52 53 49 4f 4e 29  $(TARGETVERSION)
56e0: 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20 73  ..# define the s
56f0: 70 65 63 69 61 6c 20 75 74 69 6c 69 74 69 65 73  pecial utilities
5700: 20 66 69 6c 65 73 2c 20 6e 65 65 64 65 64 20 74   files, needed t
5710: 6f 20 67 65 6e 65 72 61 74 65 0a 23 20 74 68 65  o generate.# the
5720: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67   automatically g
5730: 65 6e 65 72 61 74 65 64 20 73 6f 75 72 63 65 20  enerated source 
5740: 66 69 6c 65 73 0a 55 54 49 4c 53 3d 74 72 61 6e  files.UTILS=tran
5750: 73 6c 61 74 65 2e 65 78 65 20 6d 6b 69 6e 64 65  slate.exe mkinde
5760: 78 2e 65 78 65 20 6d 61 6b 65 68 65 61 64 65 72  x.exe makeheader
5770: 73 2e 65 78 65 0a 55 54 49 4c 53 5f 4f 42 4a 3d  s.exe.UTILS_OBJ=
5780: 24 28 55 54 49 4c 53 3a 2e 65 78 65 3d 2e 6f 62  $(UTILS:.exe=.ob
5790: 6a 29 0a 55 54 49 4c 53 5f 53 52 43 3d 24 28 66  j).UTILS_SRC=$(f
57a0: 6f 72 65 61 63 68 20 75 66 2c 24 28 55 54 49 4c  oreach uf,$(UTIL
57b0: 53 29 2c 24 28 53 52 43 44 49 52 29 24 28 75 66  S),$(SRCDIR)$(uf
57c0: 3a 2e 65 78 65 3d 2e 63 29 29 0a 0a 23 20 64 65  :.exe=.c))..# de
57d0: 66 69 6e 65 20 74 68 65 20 73 71 6c 69 74 65 20  fine the sqlite 
57e0: 66 69 6c 65 73 2c 20 77 68 69 63 68 20 6e 65 65  files, which nee
57f0: 64 20 73 70 65 63 69 61 6c 20 66 6c 61 67 73 20  d special flags 
5800: 6f 6e 20 63 6f 6d 70 69 6c 65 0a 53 51 4c 49 54  on compile.SQLIT
5810: 45 53 52 43 3d 73 71 6c 69 74 65 33 2e 63 0a 4f  ESRC=sqlite3.c.O
5820: 52 49 47 53 51 4c 49 54 45 53 52 43 3d 24 28 66  RIGSQLITESRC=$(f
5830: 6f 72 65 61 63 68 20 73 66 2c 24 28 53 51 4c 49  oreach sf,$(SQLI
5840: 54 45 53 52 43 29 2c 24 28 53 52 43 44 49 52 29  TESRC),$(SRCDIR)
5850: 24 28 73 66 29 29 0a 53 51 4c 49 54 45 4f 42 4a  $(sf)).SQLITEOBJ
5860: 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28  =$(foreach sf,$(
5870: 53 51 4c 49 54 45 53 52 43 29 2c 24 28 73 66 3a  SQLITESRC),$(sf:
5880: 2e 63 3d 2e 6f 62 6a 29 29 0a 53 51 4c 49 54 45  .c=.obj)).SQLITE
5890: 44 45 46 49 4e 45 53 3d 2d 44 53 51 4c 49 54 45  DEFINES=-DSQLITE
58a0: 5f 4f 4d 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e  _OMIT_LOAD_EXTEN
58b0: 53 49 4f 4e 3d 31 20 2d 44 53 51 4c 49 54 45 5f  SION=1 -DSQLITE_
58c0: 54 48 52 45 41 44 53 41 46 45 3d 30 20 2d 44 53  THREADSAFE=0 -DS
58d0: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49  QLITE_DEFAULT_FI
58e0: 4c 45 5f 46 4f 52 4d 41 54 3d 34 20 2d 44 6c 6f  LE_FORMAT=4 -Dlo
58f0: 63 61 6c 74 69 6d 65 3d 66 6f 73 73 69 6c 5f 6c  caltime=fossil_l
5900: 6f 63 61 6c 74 69 6d 65 20 2d 44 53 51 4c 49 54  ocaltime -DSQLIT
5910: 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e 47  E_ENABLE_LOCKING
5920: 5f 53 54 59 4c 45 3d 30 0a 0a 23 20 64 65 66 69  _STYLE=0..# defi
5930: 6e 65 20 74 68 65 20 73 71 6c 69 74 65 20 73 68  ne the sqlite sh
5940: 65 6c 6c 20 66 69 6c 65 73 2c 20 77 68 69 63 68  ell files, which
5950: 20 6e 65 65 64 20 73 70 65 63 69 61 6c 20 66 6c   need special fl
5960: 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c 65 0a 53  ags on compile.S
5970: 51 4c 49 54 45 53 48 45 4c 4c 53 52 43 3d 73 68  QLITESHELLSRC=sh
5980: 65 6c 6c 2e 63 0a 4f 52 49 47 53 51 4c 49 54 45  ell.c.ORIGSQLITE
5990: 53 48 45 4c 4c 53 52 43 3d 24 28 66 6f 72 65 61  SHELLSRC=$(forea
59a0: 63 68 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48  ch sf,$(SQLITESH
59b0: 45 4c 4c 53 52 43 29 2c 24 28 53 52 43 44 49 52  ELLSRC),$(SRCDIR
59c0: 29 24 28 73 66 29 29 0a 53 51 4c 49 54 45 53 48  )$(sf)).SQLITESH
59d0: 45 4c 4c 4f 42 4a 3d 24 28 66 6f 72 65 61 63 68  ELLOBJ=$(foreach
59e0: 20 73 66 2c 24 28 53 51 4c 49 54 45 53 48 45 4c   sf,$(SQLITESHEL
59f0: 4c 53 52 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f  LSRC),$(sf:.c=.o
5a00: 62 6a 29 29 0a 53 51 4c 49 54 45 53 48 45 4c 4c  bj)).SQLITESHELL
5a10: 44 45 46 49 4e 45 53 3d 2d 44 6d 61 69 6e 3d 73  DEFINES=-Dmain=s
5a20: 71 6c 69 74 65 33 5f 73 68 65 6c 6c 20 2d 44 53  qlite3_shell -DS
5a30: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
5a40: 45 58 54 45 4e 53 49 4f 4e 3d 31 0a 0a 23 20 64  EXTENSION=1..# d
5a50: 65 66 69 6e 65 20 74 68 65 20 74 68 20 73 63 72  efine the th scr
5a60: 69 70 74 69 6e 67 20 66 69 6c 65 73 2c 20 77 68  ipting files, wh
5a70: 69 63 68 20 6e 65 65 64 20 73 70 65 63 69 61 6c  ich need special
5a80: 20 66 6c 61 67 73 20 6f 6e 20 63 6f 6d 70 69 6c   flags on compil
5a90: 65 0a 54 48 53 52 43 3d 74 68 2e 63 20 74 68 5f  e.THSRC=th.c th_
5aa0: 6c 61 6e 67 2e 63 0a 4f 52 49 47 54 48 53 52 43  lang.c.ORIGTHSRC
5ab0: 3d 24 28 66 6f 72 65 61 63 68 20 73 66 2c 24 28  =$(foreach sf,$(
5ac0: 54 48 53 52 43 29 2c 24 28 53 52 43 44 49 52 29  THSRC),$(SRCDIR)
5ad0: 24 28 73 66 29 29 0a 54 48 4f 42 4a 3d 24 28 66  $(sf)).THOBJ=$(f
5ae0: 6f 72 65 61 63 68 20 73 66 2c 24 28 54 48 53 52  oreach sf,$(THSR
5af0: 43 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29  C),$(sf:.c=.obj)
5b00: 29 0a 0a 23 20 64 65 66 69 6e 65 20 74 68 65 20  )..# define the 
5b10: 7a 6c 69 62 20 66 69 6c 65 73 2c 20 6e 65 65 64  zlib files, need
5b20: 65 64 20 62 79 20 74 68 69 73 20 63 6f 6d 70 69  ed by this compi
5b30: 6c 65 0a 5a 4c 49 42 53 52 43 3d 61 64 6c 65 72  le.ZLIBSRC=adler
5b40: 33 32 2e 63 20 63 6f 6d 70 72 65 73 73 2e 63 20  32.c compress.c 
5b50: 63 72 63 33 32 2e 63 20 64 65 66 6c 61 74 65 2e  crc32.c deflate.
5b60: 63 20 67 7a 63 6c 6f 73 65 2e 63 20 67 7a 6c 69  c gzclose.c gzli
5b70: 62 2e 63 20 67 7a 72 65 61 64 2e 63 20 67 7a 77  b.c gzread.c gzw
5b80: 72 69 74 65 2e 63 20 69 6e 66 62 61 63 6b 2e 63  rite.c infback.c
5b90: 20 69 6e 66 66 61 73 74 2e 63 20 69 6e 66 6c 61   inffast.c infla
5ba0: 74 65 2e 63 20 69 6e 66 74 72 65 65 73 2e 63 20  te.c inftrees.c 
5bb0: 74 72 65 65 73 2e 63 20 75 6e 63 6f 6d 70 72 2e  trees.c uncompr.
5bc0: 63 20 7a 75 74 69 6c 2e 63 0a 4f 52 49 47 5a 4c  c zutil.c.ORIGZL
5bd0: 49 42 53 52 43 3d 24 28 66 6f 72 65 61 63 68 20  IBSRC=$(foreach 
5be0: 73 66 2c 24 28 5a 4c 49 42 53 52 43 29 2c 24 28  sf,$(ZLIBSRC),$(
5bf0: 5a 4c 49 42 53 52 43 44 49 52 29 24 28 73 66 29  ZLIBSRCDIR)$(sf)
5c00: 29 0a 5a 4c 49 42 4f 42 4a 3d 24 28 66 6f 72 65  ).ZLIBOBJ=$(fore
5c10: 61 63 68 20 73 66 2c 24 28 5a 4c 49 42 53 52 43  ach sf,$(ZLIBSRC
5c20: 29 2c 24 28 73 66 3a 2e 63 3d 2e 6f 62 6a 29 29  ),$(sf:.c=.obj))
5c30: 0a 0a 23 20 64 65 66 69 6e 65 20 61 6c 6c 20 66  ..# define all f
5c40: 6f 73 73 69 6c 20 73 6f 75 72 63 65 73 2c 20 75  ossil sources, u
5c50: 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72  sing the standar
5c60: 64 20 63 6f 6d 70 69 6c 65 20 61 6e 64 0a 23 20  d compile and.# 
5c70: 73 6f 75 72 63 65 20 67 65 6e 65 72 61 74 69 6f  source generatio
5c80: 6e 2e 20 54 68 65 73 65 20 61 72 65 20 61 6c 6c  n. These are all
5c90: 20 66 69 6c 65 73 20 69 6e 20 53 52 43 44 49 52   files in SRCDIR
5ca0: 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 0a  , which are not.
5cb0: 23 20 6d 65 6e 74 69 6f 6e 65 64 20 61 73 20 73  # mentioned as s
5cc0: 70 65 63 69 61 6c 20 66 69 6c 65 73 20 61 62 6f  pecial files abo
5cd0: 76 65 3a 0a 4f 52 49 47 53 52 43 3d 24 28 66 69  ve:.ORIGSRC=$(fi
5ce0: 6c 74 65 72 2d 6f 75 74 20 24 28 55 54 49 4c 53  lter-out $(UTILS
5cf0: 5f 53 52 43 29 20 24 28 4f 52 49 47 54 48 53 52  _SRC) $(ORIGTHSR
5d00: 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45 53  C) $(ORIGSQLITES
5d10: 52 43 29 20 24 28 4f 52 49 47 53 51 4c 49 54 45  RC) $(ORIGSQLITE
5d20: 53 48 45 4c 4c 53 52 43 29 2c 24 28 77 69 6c 64  SHELLSRC),$(wild
5d30: 63 61 72 64 20 24 28 53 52 43 44 49 52 29 2a 2e  card $(SRCDIR)*.
5d40: 63 29 29 0a 53 52 43 3d 24 28 73 75 62 73 74 20  c)).SRC=$(subst 
5d50: 24 28 53 52 43 44 49 52 29 2c 2c 24 28 4f 52 49  $(SRCDIR),,$(ORI
5d60: 47 53 52 43 29 29 0a 54 52 41 4e 53 4c 41 54 45  GSRC)).TRANSLATE
5d70: 44 53 52 43 3d 24 28 53 52 43 3a 2e 63 3d 5f 2e  DSRC=$(SRC:.c=_.
5d80: 63 29 0a 54 52 41 4e 53 4c 41 54 45 44 4f 42 4a  c).TRANSLATEDOBJ
5d90: 3d 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43  =$(TRANSLATEDSRC
5da0: 3a 2e 63 3d 2e 6f 62 6a 29 0a 0a 23 20 6d 61 69  :.c=.obj)..# mai
5db0: 6e 20 74 61 72 67 65 74 20 66 69 6c 65 20 69 73  n target file is
5dc0: 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e   the application
5dd0: 0a 41 50 50 4c 49 43 41 54 49 4f 4e 3d 66 6f 73  .APPLICATION=fos
5de0: 73 69 6c 2e 65 78 65 0a 0a 23 20 64 65 66 69 6e  sil.exe..# defin
5df0: 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6d  e the standard m
5e00: 61 6b 65 20 74 61 72 67 65 74 0a 2e 50 48 4f 4e  ake target..PHON
5e10: 59 3a 09 64 65 66 61 75 6c 74 0a 64 65 66 61 75  Y:.default.defau
5e20: 6c 74 3a 09 70 61 67 65 5f 69 6e 64 65 78 2e 68  lt:.page_index.h
5e30: 20 68 65 61 64 65 72 73 20 24 28 41 50 50 4c 49   headers $(APPLI
5e40: 43 41 54 49 4f 4e 29 0a 0a 23 20 73 79 6d 62 6f  CATION)..# symbo
5e50: 6c 69 63 20 74 61 72 67 65 74 20 74 6f 20 67 65  lic target to ge
5e60: 6e 65 72 61 74 65 20 74 68 65 20 73 6f 75 72 63  nerate the sourc
5e70: 65 20 67 65 6e 65 72 61 74 65 20 75 74 69 6c 73  e generate utils
5e80: 0a 2e 50 48 4f 4e 59 3a 09 75 74 69 6c 73 0a 75  ..PHONY:.utils.u
5e90: 74 69 6c 73 3a 09 24 28 55 54 49 4c 53 29 0a 0a  tils:.$(UTILS)..
5ea0: 23 20 6c 69 6e 6b 20 75 74 69 6c 73 0a 24 28 55  # link utils.$(U
5eb0: 54 49 4c 53 29 20 76 65 72 73 69 6f 6e 2e 65 78  TILS) version.ex
5ec0: 65 3a 09 25 2e 65 78 65 3a 09 25 2e 6f 62 6a 0a  e:.%.exe:.%.obj.
5ed0: 09 24 28 4c 49 4e 4b 29 20 24 28 4c 49 4e 4b 46  .$(LINK) $(LINKF
5ee0: 4c 41 47 53 29 20 2d 6f 75 74 3a 22 24 40 22 20  LAGS) -out:"$@" 
5ef0: 24 3c 0a 0a 23 20 63 6f 6d 70 69 6c 69 6e 67 20  $<..# compiling 
5f00: 73 74 61 6e 64 61 72 64 20 66 6f 73 73 69 6c 20  standard fossil 
5f10: 75 74 69 6c 73 0a 24 28 55 54 49 4c 53 5f 4f 42  utils.$(UTILS_OB
5f20: 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43  J):.%.obj:.$(SRC
5f30: 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24  DIR)%.c..$(CC) $
5f40: 28 43 43 46 4c 41 47 53 29 20 24 28 49 4e 43 4c  (CCFLAGS) $(INCL
5f50: 55 44 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40  UDE) "$<" -Fo"$@
5f60: 22 0a 0a 23 20 63 6f 6d 70 69 6c 65 20 73 70 65  "..# compile spe
5f70: 63 69 61 6c 20 77 69 6e 64 6f 77 73 20 75 74 69  cial windows uti
5f80: 6c 73 0a 76 65 72 73 69 6f 6e 2e 6f 62 6a 3a 09  ls.version.obj:.
5f90: 24 28 57 49 4e 44 49 52 29 76 65 72 73 69 6f 6e  $(WINDIR)version
5fa0: 2e 63 0a 09 24 28 43 43 29 20 24 28 43 43 46 4c  .c..$(CC) $(CCFL
5fb0: 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29 20  AGS) $(INCLUDE) 
5fc0: 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23 20  "$<" -Fo"$@"..# 
5fd0: 67 65 6e 65 72 61 74 65 20 74 68 65 20 74 72 61  generate the tra
5fe0: 6e 73 6c 61 74 65 64 20 63 2d 73 6f 75 72 63 65  nslated c-source
5ff0: 20 66 69 6c 65 73 0a 24 28 54 52 41 4e 53 4c 41   files.$(TRANSLA
6000: 54 45 44 53 52 43 29 3a 09 25 5f 2e 63 3a 09 24  TEDSRC):.%_.c:.$
6010: 28 53 52 43 44 49 52 29 25 2e 63 20 74 72 61 6e  (SRCDIR)%.c tran
6020: 73 6c 61 74 65 2e 65 78 65 0a 09 74 72 61 6e 73  slate.exe..trans
6030: 6c 61 74 65 2e 65 78 65 20 24 3c 20 3e 24 40 0a  late.exe $< >$@.
6040: 0a 23 20 67 65 6e 65 72 61 74 65 20 74 68 65 20  .# generate the 
6050: 69 6e 64 65 78 20 73 6f 75 72 63 65 2c 20 63 6f  index source, co
6060: 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 77 65 62  ntaining all web
6070: 20 72 65 66 65 72 65 6e 63 65 73 2c 2e 2e 0a 70   references,...p
6080: 61 67 65 5f 69 6e 64 65 78 2e 68 3a 09 24 28 54  age_index.h:.$(T
6090: 52 41 4e 53 4c 41 54 45 44 53 52 43 29 20 6d 6b  RANSLATEDSRC) mk
60a0: 69 6e 64 65 78 2e 65 78 65 0a 09 6d 6b 69 6e 64  index.exe..mkind
60b0: 65 78 2e 65 78 65 20 24 28 54 52 41 4e 53 4c 41  ex.exe $(TRANSLA
60c0: 54 45 44 53 52 43 29 20 3e 24 40 0a 0a 23 20 65  TEDSRC) >$@..# e
60d0: 78 74 72 61 63 74 69 6e 67 20 76 65 72 73 69 6f  xtracting versio
60e0: 6e 20 69 6e 66 6f 20 66 72 6f 6d 20 6d 61 6e 69  n info from mani
60f0: 66 65 73 74 0a 56 45 52 53 49 4f 4e 2e 68 3a 09  fest.VERSION.h:.
6100: 76 65 72 73 69 6f 6e 2e 65 78 65 20 2e 2e 5c 6d  version.exe ..\m
6110: 61 6e 69 66 65 73 74 2e 75 75 69 64 20 2e 2e 5c  anifest.uuid ..\
6120: 6d 61 6e 69 66 65 73 74 0a 09 76 65 72 73 69 6f  manifest..versio
6130: 6e 2e 65 78 65 20 2e 2e 5c 6d 61 6e 69 66 65 73  n.exe ..\manifes
6140: 74 2e 75 75 69 64 20 2e 2e 5c 6d 61 6e 69 66 65  t.uuid ..\manife
6150: 73 74 20 20 3e 20 24 40 0a 0a 23 20 67 65 6e 65  st  > $@..# gene
6160: 72 61 74 65 20 74 68 65 20 73 69 6d 70 6c 69 66  rate the simplif
6170: 69 65 64 20 68 65 61 64 65 72 73 0a 68 65 61 64  ied headers.head
6180: 65 72 73 3a 20 6d 61 6b 65 68 65 61 64 65 72 73  ers: makeheaders
6190: 2e 65 78 65 20 70 61 67 65 5f 69 6e 64 65 78 2e  .exe page_index.
61a0: 68 20 56 45 52 53 49 4f 4e 2e 68 20 2e 2e 2f 73  h VERSION.h ../s
61b0: 72 63 2f 73 71 6c 69 74 65 33 2e 68 20 2e 2e 2f  rc/sqlite3.h ../
61c0: 73 72 63 2f 74 68 2e 68 20 56 45 52 53 49 4f 4e  src/th.h VERSION
61d0: 2e 68 0a 09 6d 61 6b 65 68 65 61 64 65 72 73 2e  .h..makeheaders.
61e0: 65 78 65 20 24 28 66 6f 72 65 61 63 68 20 74 73  exe $(foreach ts
61f0: 2c 24 28 54 52 41 4e 53 4c 41 54 45 44 53 52 43  ,$(TRANSLATEDSRC
6200: 29 2c 24 28 74 73 29 3a 24 28 74 73 3a 5f 2e 63  ),$(ts):$(ts:_.c
6210: 3d 2e 68 29 29 20 2e 2e 2f 73 72 63 2f 73 71 6c  =.h)) ../src/sql
6220: 69 74 65 33 2e 68 20 2e 2e 2f 73 72 63 2f 74 68  ite3.h ../src/th
6230: 2e 68 20 56 45 52 53 49 4f 4e 2e 68 0a 09 65 63  .h VERSION.h..ec
6240: 68 6f 20 44 6f 6e 65 20 3e 24 40 0a 0a 23 20 63  ho Done >$@..# c
6250: 6f 6d 70 69 6c 65 20 43 20 73 6f 75 72 63 65 73  ompile C sources
6260: 20 77 69 74 68 20 72 65 6c 65 76 61 6e 74 20 6f   with relevant o
6270: 70 74 69 6f 6e 73 0a 0a 24 28 54 52 41 4e 53 4c  ptions..$(TRANSL
6280: 41 54 45 44 4f 42 4a 29 3a 09 25 5f 2e 6f 62 6a  ATEDOBJ):.%_.obj
6290: 3a 09 25 5f 2e 63 20 25 2e 68 0a 09 24 28 43 43  :.%_.c %.h..$(CC
62a0: 29 20 24 28 43 43 46 4c 41 47 53 29 20 24 28 49  ) $(CCFLAGS) $(I
62b0: 4e 43 4c 55 44 45 29 20 22 24 3c 22 20 2d 46 6f  NCLUDE) "$<" -Fo
62c0: 22 24 40 22 0a 0a 24 28 53 51 4c 49 54 45 4f 42  "$@"..$(SQLITEOB
62d0: 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43  J):.%.obj:.$(SRC
62e0: 44 49 52 29 25 2e 63 20 24 28 53 52 43 44 49 52  DIR)%.c $(SRCDIR
62f0: 29 25 2e 68 0a 09 24 28 43 43 29 20 24 28 43 43  )%.h..$(CC) $(CC
6300: 46 4c 41 47 53 29 20 24 28 53 51 4c 49 54 45 44  FLAGS) $(SQLITED
6310: 45 46 49 4e 45 53 29 20 24 28 49 4e 43 4c 55 44  EFINES) $(INCLUD
6320: 45 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a  E) "$<" -Fo"$@".
6330: 0a 24 28 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42  .$(SQLITESHELLOB
6340: 4a 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43  J):.%.obj:.$(SRC
6350: 44 49 52 29 25 2e 63 0a 09 24 28 43 43 29 20 24  DIR)%.c..$(CC) $
6360: 28 43 43 46 4c 41 47 53 29 20 24 28 53 51 4c 49  (CCFLAGS) $(SQLI
6370: 54 45 53 48 45 4c 4c 44 45 46 49 4e 45 53 29 20  TESHELLDEFINES) 
6380: 24 28 49 4e 43 4c 55 44 45 29 20 22 24 3c 22 20  $(INCLUDE) "$<" 
6390: 2d 46 6f 22 24 40 22 0a 0a 24 28 54 48 4f 42 4a  -Fo"$@"..$(THOBJ
63a0: 29 3a 09 25 2e 6f 62 6a 3a 09 24 28 53 52 43 44  ):.%.obj:.$(SRCD
63b0: 49 52 29 25 2e 63 20 24 28 53 52 43 44 49 52 29  IR)%.c $(SRCDIR)
63c0: 74 68 2e 68 0a 09 24 28 43 43 29 20 24 28 43 43  th.h..$(CC) $(CC
63d0: 46 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45  FLAGS) $(INCLUDE
63e0: 29 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a  ) "$<" -Fo"$@"..
63f0: 24 28 5a 4c 49 42 4f 42 4a 29 3a 09 25 2e 6f 62  $(ZLIBOBJ):.%.ob
6400: 6a 3a 09 24 28 5a 4c 49 42 53 52 43 44 49 52 29  j:.$(ZLIBSRCDIR)
6410: 25 2e 63 0a 09 24 28 43 43 29 20 24 28 43 43 46  %.c..$(CC) $(CCF
6420: 4c 41 47 53 29 20 24 28 49 4e 43 4c 55 44 45 29  LAGS) $(INCLUDE)
6430: 20 22 24 3c 22 20 2d 46 6f 22 24 40 22 0a 0a 23   "$<" -Fo"$@"..#
6440: 20 63 72 65 61 74 65 20 74 68 65 20 77 69 6e 64   create the wind
6450: 6f 77 73 20 72 65 73 6f 75 72 63 65 20 77 69 74  ows resource wit
6460: 68 20 69 63 6f 6e 20 61 6e 64 20 76 65 72 73 69  h icon and versi
6470: 6f 6e 20 69 6e 66 6f 0a 24 28 52 45 53 4f 55 52  on info.$(RESOUR
6480: 43 45 29 3a 09 25 2e 72 65 73 3a 09 2e 2e 2f 77  CE):.%.res:.../w
6490: 69 6e 2f 25 2e 72 63 20 2e 2e 2f 77 69 6e 2f 2a  in/%.rc ../win/*
64a0: 2e 69 63 6f 0a 09 24 28 52 43 29 20 24 28 52 43  .ico..$(RC) $(RC
64b0: 46 4c 41 47 53 29 20 24 3c 20 2d 46 6f 22 24 40  FLAGS) $< -Fo"$@
64c0: 22 0a 0a 23 20 6c 69 6e 6b 20 74 68 65 20 61 70  "..# link the ap
64d0: 70 6c 69 63 61 74 69 6f 6e 0a 24 28 41 50 50 4c  plication.$(APPL
64e0: 49 43 41 54 49 4f 4e 29 3a 09 24 28 54 52 41 4e  ICATION):.$(TRAN
64f0: 53 4c 41 54 45 44 4f 42 4a 29 20 24 28 53 51 4c  SLATEDOBJ) $(SQL
6500: 49 54 45 4f 42 4a 29 20 24 28 53 51 4c 49 54 45  ITEOBJ) $(SQLITE
6510: 53 48 45 4c 4c 4f 42 4a 29 20 24 28 54 48 4f 42  SHELLOBJ) $(THOB
6520: 4a 29 20 24 28 5a 4c 49 42 4f 42 4a 29 20 68 65  J) $(ZLIBOBJ) he
6530: 61 64 65 72 73 20 24 28 52 45 53 4f 55 52 43 45  aders $(RESOURCE
6540: 29 0a 09 24 28 4c 49 4e 4b 29 20 24 28 4c 49 4e  )..$(LINK) $(LIN
6550: 4b 46 4c 41 47 53 29 20 2d 6f 75 74 3a 22 24 40  KFLAGS) -out:"$@
6560: 22 20 24 28 54 52 41 4e 53 4c 41 54 45 44 4f 42  " $(TRANSLATEDOB
6570: 4a 29 20 24 28 53 51 4c 49 54 45 4f 42 4a 29 20  J) $(SQLITEOBJ) 
6580: 24 28 53 51 4c 49 54 45 53 48 45 4c 4c 4f 42 4a  $(SQLITESHELLOBJ
6590: 29 20 24 28 54 48 4f 42 4a 29 20 24 28 5a 4c 49  ) $(THOBJ) $(ZLI
65a0: 42 4f 42 4a 29 20 24 28 52 45 53 4f 55 52 43 45  BOBJ) $(RESOURCE
65b0: 29 0a 0a 23 20 63 6c 65 61 6e 75 70 0a 0a 2e 50  )..# cleanup...P
65c0: 48 4f 4e 59 3a 20 63 6c 65 61 6e 0a 63 6c 65 61  HONY: clean.clea
65d0: 6e 3a 0a 09 64 65 6c 20 2f 46 20 24 28 54 52 41  n:..del /F $(TRA
65e0: 4e 53 4c 41 54 45 44 4f 42 4a 29 20 24 28 53 51  NSLATEDOBJ) $(SQ
65f0: 4c 49 54 45 4f 42 4a 29 20 24 28 54 48 4f 42 4a  LITEOBJ) $(THOBJ
6600: 29 20 24 28 5a 4c 49 42 4f 42 4a 29 20 24 28 55  ) $(ZLIBOBJ) $(U
6610: 54 49 4c 53 5f 4f 42 4a 29 20 76 65 72 73 69 6f  TILS_OBJ) versio
6620: 6e 2e 6f 62 6a 0a 09 64 65 6c 20 2f 46 20 24 28  n.obj..del /F $(
6630: 54 52 41 4e 53 4c 41 54 45 44 53 52 43 29 0a 09  TRANSLATEDSRC)..
6640: 64 65 6c 20 2f 46 20 2a 2e 68 20 68 65 61 64 65  del /F *.h heade
6650: 72 73 0a 09 64 65 6c 20 2f 46 20 24 28 52 45 53  rs..del /F $(RES
6660: 4f 55 52 43 45 29 0a 0a 2e 50 48 4f 4e 59 3a 20  OURCE)...PHONY: 
6670: 63 6c 6f 62 62 65 72 0a 63 6c 6f 62 62 65 72 3a  clobber.clobber:
6680: 20 63 6c 65 61 6e 0a 09 64 65 6c 20 2f 46 20 2a   clean..del /F *
6690: 2e 65 78 65 0a 7d 0a                             .exe.}.