Megatest

Hex Artifact Content
Login

Artifact b89c1a12c07108bc3a8ff81f940c4beae12108c6:


0000: 23 20 20 43 6f 70 79 72 69 67 68 74 20 32 30 30  #  Copyright 200
0010: 36 2d 32 30 31 37 2c 20 4d 61 74 74 68 65 77 20  6-2017, Matthew 
0020: 57 65 6c 6c 61 6e 64 2e 0a 23 20 0a 23 20 54 68  Welland..# .# Th
0030: 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20  is file is part 
0040: 6f 66 20 4d 65 67 61 74 65 73 74 2e 0a 23 20 0a  of Megatest..# .
0050: 23 20 20 20 20 20 4d 65 67 61 74 65 73 74 20 69  #     Megatest i
0060: 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a  s free software:
0070: 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72   you can redistr
0080: 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20  ibute it and/or 
0090: 6d 6f 64 69 66 79 0a 23 20 20 20 20 20 69 74 20  modify.#     it 
00a0: 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20  under the terms 
00b0: 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72  of the GNU Gener
00c0: 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73  al Public Licens
00d0: 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62  e as published b
00e0: 79 0a 23 20 20 20 20 20 74 68 65 20 46 72 65 65  y.#     the Free
00f0: 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61   Software Founda
0100: 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72  tion, either ver
0110: 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69  sion 3 of the Li
0120: 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 20  cense, or.#     
0130: 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29  (at your option)
0140: 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69   any later versi
0150: 6f 6e 2e 0a 23 20 0a 23 20 20 20 20 20 4d 65 67  on..# .#     Meg
0160: 61 74 65 73 74 20 69 73 20 64 69 73 74 72 69 62  atest is distrib
0170: 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65  uted in the hope
0180: 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65   that it will be
0190: 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 20 62   useful,.#     b
01a0: 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57  ut WITHOUT ANY W
01b0: 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74  ARRANTY; without
01c0: 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65   even the implie
01d0: 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20  d warranty of.# 
01e0: 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c      MERCHANTABIL
01f0: 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46  ITY or FITNESS F
0200: 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20  OR A PARTICULAR 
0210: 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68  PURPOSE.  See th
0220: 65 0a 23 20 20 20 20 20 47 4e 55 20 47 65 6e 65  e.#     GNU Gene
0230: 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  ral Public Licen
0240: 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  se for more deta
0250: 69 6c 73 2e 0a 23 20 0a 23 20 20 20 20 20 59 6f  ils..# .#     Yo
0260: 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65  u should have re
0270: 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66  ceived a copy of
0280: 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c   the GNU General
0290: 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a   Public License.
02a0: 23 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68  #     along with
02b0: 20 4d 65 67 61 74 65 73 74 2e 20 20 49 66 20 6e   Megatest.  If n
02c0: 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f  ot, see <http://
02d0: 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65  www.gnu.org/lice
02e0: 6e 73 65 73 2f 3e 2e 0a 0a 23 20 6d 61 6b 65 20  nses/>...# make 
02f0: 69 6e 73 74 61 6c 6c 20 43 53 43 4f 50 54 53 3d  install CSCOPTS=
0300: 27 2d 61 63 63 75 6d 75 6c 61 74 65 2d 70 72 6f  '-accumulate-pro
0310: 66 69 6c 65 20 2d 70 72 6f 66 69 6c 65 2d 6e 61  file -profile-na
0320: 6d 65 20 24 28 50 57 44 29 2f 70 72 6f 66 69 6c  me $(PWD)/profil
0330: 65 2d 77 77 24 28 73 68 65 6c 6c 20 64 61 74 65  e-ww$(shell date
0340: 20 2b 25 56 2e 25 75 29 27 0a 23 20 72 6d 20 3c   +%V.%u)'.# rm <
0350: 66 69 6c 65 73 3e 2e 6f 20 3b 20 6d 61 6b 65 20  files>.o ; make 
0360: 69 6e 73 74 61 6c 6c 20 43 53 43 4f 50 54 53 3d  install CSCOPTS=
0370: 27 2d 70 72 6f 66 69 6c 65 27 20 3b 20 2e 2e 2e  '-profile' ; ...
0380: 20 3b 20 20 63 68 69 63 6b 65 6e 2d 70 72 6f 66   ;  chicken-prof
0390: 69 6c 65 20 7c 20 6c 65 73 73 0a 0a 61 6c 6c 20  ile | less..all 
03a0: 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  : $(PREFIX)/bin/
03b0: 2e 24 28 41 52 43 48 53 54 52 29 20 6d 74 65 73  .$(ARCHSTR) mtes
03c0: 74 20 64 62 6f 61 72 64 20 6d 74 75 74 20 0a 0a  t dboard mtut ..
03d0: 72 65 63 65 6e 74 2d 63 6f 6d 6d 69 74 73 2e 63  recent-commits.c
03e0: 73 76 20 3a 20 2e 66 73 6c 63 6b 6f 75 74 0a 09  sv : .fslckout..
03f0: 66 6f 73 73 69 6c 20 74 69 6d 65 6c 69 6e 65 20  fossil timeline 
0400: 2d 6e 20 33 35 30 20 2d 74 20 63 69 20 2d 46 20  -n 350 -t ci -F 
0410: 22 25 68 2c 25 61 2c 25 62 2c 25 74 2c 5c 22 25  "%h,%a,%b,%t,\"%
0420: 63 5c 22 22 20 3e 20 72 65 63 65 6e 74 2d 63 6f  c\"" > recent-co
0430: 6d 6d 69 74 73 2e 63 73 76 0a 0a 0a 53 48 45 4c  mmits.csv...SHEL
0440: 4c 3d 2f 62 69 6e 2f 62 61 73 68 0a 50 52 45 46  L=/bin/bash.PREF
0450: 49 58 3d 24 28 50 57 44 29 0a 23 20 43 53 43 4f  IX=$(PWD).# CSCO
0460: 50 54 53 3d 2d 6c 66 61 32 20 2d 73 70 65 63 69  PTS=-lfa2 -speci
0470: 61 6c 69 7a 65 20 2d 69 6e 6c 69 6e 65 2d 67 6c  alize -inline-gl
0480: 6f 62 61 6c 0a 43 53 43 4f 50 54 53 3d 0a 49 4e  obal.CSCOPTS=.IN
0490: 53 54 41 4c 4c 3d 69 6e 73 74 61 6c 6c 0a 53 52  STALL=install.SR
04a0: 43 46 49 4c 45 53 20 3d 20 63 6f 6d 6d 6f 6e 2e  CFILES = common.
04b0: 73 63 6d 20 69 74 65 6d 73 2e 73 63 6d 20 6c 61  scm items.scm la
04c0: 75 6e 63 68 2e 73 63 6d 20 6f 64 73 2e 73 63 6d  unch.scm ods.scm
04d0: 20 72 75 6e 63 6f 6e 66 69 67 2e 73 63 6d 09 5c   runconfig.scm.\
04e0: 0a 20 20 20 20 20 20 20 20 20 20 20 73 65 72 76  .           serv
04f0: 65 72 2e 73 63 6d 20 63 6f 6e 66 69 67 66 2e 73  er.scm configf.s
0500: 63 6d 20 64 62 2e 73 63 6d 20 6b 65 79 73 2e 73  cm db.scm keys.s
0510: 63 6d 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20  cm..\.          
0520: 20 70 72 6f 63 65 73 73 2e 73 63 6d 20 72 75 6e   process.scm run
0530: 73 2e 73 63 6d 20 74 61 73 6b 73 2e 73 63 6d 20  s.scm tasks.scm 
0540: 74 65 73 74 73 2e 73 63 6d 20 67 65 6e 65 78 61  tests.scm genexa
0550: 6d 70 6c 65 2e 73 63 6d 09 5c 0a 20 20 20 20 20  mple.scm.\.     
0560: 20 20 20 20 20 20 74 64 62 2e 73 63 6d 20 6d 74        tdb.scm mt
0570: 2e 73 63 6d 09 5c 0a 20 20 20 20 20 20 20 20 20  .scm.\.         
0580: 20 20 65 7a 73 74 65 70 73 2e 73 63 6d 20 72 6d    ezsteps.scm rm
0590: 74 2e 73 63 6d 20 61 70 69 2e 73 63 6d 09 09 5c  t.scm api.scm..\
05a0: 0a 20 20 20 20 20 20 20 20 20 20 20 73 75 62 72  .           subr
05b0: 75 6e 2e 73 63 6d 20 61 72 63 68 69 76 65 2e 73  un.scm archive.s
05c0: 63 6d 20 65 6e 76 2e 73 63 6d 09 09 5c 0a 20 20  cm env.scm..\.  
05d0: 20 20 20 20 20 20 20 20 20 64 69 66 66 2d 72 65           diff-re
05e0: 70 6f 72 74 2e 73 63 6d 20 63 67 69 73 65 74 75  port.scm cgisetu
05f0: 70 2f 6d 6f 64 65 6c 73 2f 70 67 64 62 2e 73 63  p/models/pgdb.sc
0600: 6d 0a 0a 23 20 6d 6f 64 75 6c 65 20 73 6f 75 72  m..# module sour
0610: 63 65 20 66 69 6c 65 73 0a 4d 53 52 43 46 49 4c  ce files.MSRCFIL
0620: 45 53 20 3d 20 64 62 66 69 6c 65 2e 73 63 6d 20  ES = dbfile.scm 
0630: 64 65 62 75 67 70 72 69 6e 74 2e 73 63 6d 20 6d  debugprint.scm m
0640: 74 61 72 67 73 2e 73 63 6d 20 63 6f 6d 6d 6f 6e  targs.scm common
0650: 6d 6f 64 2e 73 63 6d 20 64 62 6d 6f 64 2e 73 63  mod.scm dbmod.sc
0660: 6d 20 61 64 6a 75 74 61 6e 74 2e 73 63 6d 20 6d  m adjutant.scm m
0670: 75 74 69 6c 73 2e 73 63 6d 20 6d 74 74 6f 70 2e  utils.scm mttop.
0680: 73 63 6d 20 74 63 70 2d 74 72 61 6e 73 70 6f 72  scm tcp-transpor
0690: 74 6d 6f 64 2e 73 63 6d 20 72 6d 74 6d 6f 64 2e  tmod.scm rmtmod.
06a0: 73 63 6d 20 70 6f 72 74 6c 6f 67 67 65 72 2e 73  scm portlogger.s
06b0: 63 6d 0a 0a 74 72 61 6e 73 70 6f 72 74 2d 6d 6f  cm..transport-mo
06c0: 64 65 2e 73 63 6d 20 3a 20 74 72 61 6e 73 70 6f  de.scm : transpo
06d0: 72 74 2d 6d 6f 64 65 2e 73 63 6d 2e 74 65 6d 70  rt-mode.scm.temp
06e0: 6c 61 74 65 0a 09 63 70 20 74 72 61 6e 73 70 6f  late..cp transpo
06f0: 72 74 2d 6d 6f 64 65 2e 73 63 6d 2e 74 65 6d 70  rt-mode.scm.temp
0700: 6c 61 74 65 20 74 72 61 6e 73 70 6f 72 74 2d 6d  late transport-m
0710: 6f 64 65 2e 73 63 6d 0a 0a 64 61 73 68 62 6f 61  ode.scm..dashboa
0720: 72 64 2d 74 72 61 6e 73 70 6f 72 74 2d 6d 6f 64  rd-transport-mod
0730: 65 2e 73 63 6d 20 3a 20 64 61 73 68 62 6f 61 72  e.scm : dashboar
0740: 64 2d 74 72 61 6e 73 70 6f 72 74 2d 6d 6f 64 65  d-transport-mode
0750: 2e 73 63 6d 2e 74 65 6d 70 6c 61 74 65 0a 09 63  .scm.template..c
0760: 70 20 64 61 73 68 62 6f 61 72 64 2d 74 72 61 6e  p dashboard-tran
0770: 73 70 6f 72 74 2d 6d 6f 64 65 2e 73 63 6d 2e 74  sport-mode.scm.t
0780: 65 6d 70 6c 61 74 65 20 64 61 73 68 62 6f 61 72  emplate dashboar
0790: 64 2d 74 72 61 6e 73 70 6f 72 74 2d 6d 6f 64 65  d-transport-mode
07a0: 2e 73 63 6d 0a 0a 6d 74 65 73 74 20 3a 20 74 72  .scm..mtest : tr
07b0: 61 6e 73 70 6f 72 74 2d 6d 6f 64 65 2e 73 63 6d  ansport-mode.scm
07c0: 0a 64 62 6f 61 72 64 20 3a 20 64 61 73 68 62 6f  .dboard : dashbo
07d0: 61 72 64 2d 74 72 61 6e 73 70 6f 72 74 2d 6d 6f  ard-transport-mo
07e0: 64 65 2e 73 63 6d 0a 0a 23 20 64 62 6d 6f 64 2e  de.scm..# dbmod.
07f0: 69 6d 70 6f 72 74 2e 6f 20 69 73 20 6a 75 73 74  import.o is just
0800: 20 61 20 68 61 63 6b 20 68 65 72 65 0a 6d 6f 66   a hack here.mof
0810: 69 6c 65 73 2f 70 6f 72 74 6c 6f 67 67 65 72 2e  iles/portlogger.
0820: 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 64 62 6d 6f  o : mofiles/dbmo
0830: 64 2e 6f 0a 0a 6d 6f 66 69 6c 65 73 2f 64 62 66  d.o..mofiles/dbf
0840: 69 6c 65 2e 6f 20 20 20 20 20 3a 20 5c 0a 20 20  ile.o     : \.  
0850: 20 20 20 20 20 6d 6f 66 69 6c 65 73 2f 64 65 62       mofiles/deb
0860: 75 67 70 72 69 6e 74 2e 6f 20 6d 6f 66 69 6c 65  ugprint.o mofile
0870: 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20 0a 0a  s/commonmod.o ..
0880: 6d 6f 66 69 6c 65 73 2f 64 62 6d 6f 64 2e 6f 20  mofiles/dbmod.o 
0890: 3a 20 6d 6f 66 69 6c 65 73 2f 64 62 66 69 6c 65  : mofiles/dbfile
08a0: 2e 6f 0a 0a 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d  .o..mofiles/comm
08b0: 6f 6e 6d 6f 64 2e 6f 20 3a 20 6d 6f 66 69 6c 65  onmod.o : mofile
08c0: 73 2f 64 65 62 75 67 70 72 69 6e 74 2e 6f 0a 63  s/debugprint.o.c
08d0: 6f 6e 66 69 67 66 2e 6f 20 3a 20 63 6f 6d 6d 6f  onfigf.o : commo
08e0: 6e 6d 6f 64 2e 69 6d 70 6f 72 74 2e 6f 0a 6d 6f  nmod.import.o.mo
08f0: 66 69 6c 65 73 2f 64 62 66 69 6c 65 2e 6f 20 3a  files/dbfile.o :
0900: 20 6d 6f 66 69 6c 65 73 2f 64 65 62 75 67 70 72   mofiles/debugpr
0910: 69 6e 74 2e 6f 0a 6d 6f 66 69 6c 65 73 2f 72 6d  int.o.mofiles/rm
0920: 74 6d 6f 64 2e 6f 20 6d 6f 66 69 6c 65 73 2f 64  tmod.o mofiles/d
0930: 62 6d 6f 64 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73  bmod.o : mofiles
0940: 2f 64 62 66 69 6c 65 2e 6f 20 6d 6f 66 69 6c 65  /dbfile.o mofile
0950: 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20 6d 6f  s/commonmod.o mo
0960: 66 69 6c 65 73 2f 64 65 62 75 67 70 72 69 6e 74  files/debugprint
0970: 2e 6f 0a 64 62 2e 6f 20 3a 20 6d 6f 66 69 6c 65  .o.db.o : mofile
0980: 73 2f 64 62 6d 6f 64 2e 6f 20 6d 6f 66 69 6c 65  s/dbmod.o mofile
0990: 73 2f 64 62 66 69 6c 65 2e 6f 0a 6d 6f 66 69 6c  s/dbfile.o.mofil
09a0: 65 73 2f 64 65 62 75 67 70 72 69 6e 74 2e 6f 20  es/debugprint.o 
09b0: 3a 20 6d 6f 66 69 6c 65 73 2f 6d 74 61 72 67 73  : mofiles/mtargs
09c0: 2e 6f 0a 6d 6f 66 69 6c 65 73 2f 74 63 70 2d 74  .o.mofiles/tcp-t
09d0: 72 61 6e 73 70 6f 72 74 6d 6f 64 2e 6f 20 3a 20  ransportmod.o : 
09e0: 6d 6f 66 69 6c 65 73 2f 70 6f 72 74 6c 6f 67 67  mofiles/portlogg
09f0: 65 72 2e 6f 0a 0a 23 20 66 74 61 69 6c 2e 73 63  er.o..# ftail.sc
0a00: 6d 20 72 6d 74 6d 6f 64 2e 73 63 6d 20 63 6f 6d  m rmtmod.scm com
0a10: 6d 6f 6e 6d 6f 64 2e 73 63 6d 20 72 65 6d 6f 76  monmod.scm remov
0a20: 65 64 0a 23 20 4d 53 52 43 46 49 4c 45 53 20 3d  ed.# MSRCFILES =
0a30: 20 64 75 63 74 74 61 70 65 2d 6c 69 62 2e 73 63   ducttape-lib.sc
0a40: 6d 20 70 6b 74 73 2e 73 63 6d 20 73 74 6d 6c 32  m pkts.scm stml2
0a50: 2e 73 63 6d 20 63 6f 6f 6b 69 65 2e 73 63 6d 20  .scm cookie.scm 
0a60: 6d 75 74 69 6c 73 2e 73 63 6d 09 5c 0a 23 20 20  mutils.scm.\.#  
0a70: 20 20 20 20 20 20 20 20 20 20 20 6d 74 61 72 67             mtarg
0a80: 73 2e 73 63 6d 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e  s.scm commonmod.
0a90: 73 63 6d 20 64 62 6d 6f 64 2e 73 63 6d 20 61 64  scm dbmod.scm ad
0aa0: 6a 75 74 61 6e 74 2e 73 63 6d 20 75 6c 65 78 2e  jutant.scm ulex.
0ab0: 73 63 6d 09 5c 0a 23 20 20 20 20 20 20 20 20 20  scm.\.#         
0ac0: 20 20 20 20 72 6d 74 6d 6f 64 2e 73 63 6d 20 61      rmtmod.scm a
0ad0: 70 69 6d 6f 64 2e 73 63 6d 0a 0a 47 55 49 53 52  pimod.scm..GUISR
0ae0: 43 46 20 3d 20 64 61 73 68 62 6f 61 72 64 2d 63  CF = dashboard-c
0af0: 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e 73 63 6d 20  ontext-menu.scm 
0b00: 64 61 73 68 62 6f 61 72 64 2d 74 65 73 74 73 2e  dashboard-tests.
0b10: 73 63 6d 09 09 5c 0a 20 20 20 20 20 20 20 20 20  scm..\.         
0b20: 20 64 61 73 68 62 6f 61 72 64 2d 67 75 69 6d 6f   dashboard-guimo
0b30: 6e 69 74 6f 72 2e 73 63 6d 20 67 75 74 69 6c 73  nitor.scm gutils
0b40: 2e 73 63 6d 20 64 63 6f 6d 6d 6f 6e 2e 73 63 6d  .scm dcommon.scm
0b50: 20 74 72 65 65 2e 73 63 6d 09 5c 0a 20 20 20 20   tree.scm.\.    
0b60: 20 20 20 20 20 20 76 67 2e 73 63 6d 0a 0a 4f 46        vg.scm..OF
0b70: 49 4c 45 53 20 20 20 3d 20 24 28 53 52 43 46 49  ILES   = $(SRCFI
0b80: 4c 45 53 3a 25 2e 73 63 6d 3d 25 2e 6f 29 0a 47  LES:%.scm=%.o).G
0b90: 4f 46 49 4c 45 53 20 20 3d 20 24 28 47 55 49 53  OFILES  = $(GUIS
0ba0: 52 43 46 3a 25 2e 73 63 6d 3d 25 2e 6f 29 0a 0a  RCF:%.scm=%.o)..
0bb0: 4d 4f 46 49 4c 45 53 20 3d 20 24 28 61 64 64 70  MOFILES = $(addp
0bc0: 72 65 66 69 78 20 6d 6f 66 69 6c 65 73 2f 2c 24  refix mofiles/,$
0bd0: 28 4d 53 52 43 46 49 4c 45 53 3a 25 2e 73 63 6d  (MSRCFILES:%.scm
0be0: 3d 25 2e 6f 29 29 0a 23 20 63 6f 6d 70 69 6c 65  =%.o)).# compile
0bf0: 64 20 69 6d 70 6f 72 74 20 66 69 6c 65 73 0a 4d  d import files.M
0c00: 4f 49 4d 50 46 49 4c 45 53 20 3d 20 24 28 4d 53  OIMPFILES = $(MS
0c10: 52 43 46 49 4c 45 53 3a 25 2e 73 63 6d 3d 25 2e  RCFILES:%.scm=%.
0c20: 69 6d 70 6f 72 74 2e 6f 29 0a 0a 25 2e 69 6d 70  import.o)..%.imp
0c30: 6f 72 74 2e 6f 20 3a 20 25 2e 69 6d 70 6f 72 74  ort.o : %.import
0c40: 2e 73 63 6d 0a 09 63 73 63 20 24 28 43 53 43 4f  .scm..csc $(CSCO
0c50: 50 54 53 29 20 2d 75 6e 69 74 20 24 2a 2e 69 6d  PTS) -unit $*.im
0c60: 70 6f 72 74 20 2d 63 20 24 2a 2e 69 6d 70 6f 72  port -c $*.impor
0c70: 74 2e 73 63 6d 20 2d 6f 20 24 2a 2e 69 6d 70 6f  t.scm -o $*.impo
0c80: 72 74 2e 6f 0a 0a 23 20 49 27 6d 20 6e 6f 74 20  rt.o..# I'm not 
0c90: 73 75 72 65 20 74 68 65 20 63 70 20 69 73 20 61  sure the cp is a
0ca0: 20 67 6f 6f 64 20 69 64 65 61 2c 20 63 68 61 6e   good idea, chan
0cb0: 67 65 64 20 61 20 6c 6f 74 20 6f 66 20 74 68 69  ged a lot of thi
0cc0: 6e 67 73 20 61 6e 64 20 69 74 20 6d 61 79 20 6e  ngs and it may n
0cd0: 6f 74 20 68 61 76 65 20 62 65 65 6e 20 6e 65 63  ot have been nec
0ce0: 65 73 73 61 72 79 2e 2e 2e 0a 23 20 6d 6f 66 69  essary....# mofi
0cf0: 6c 65 73 2f 25 2e 6f 20 20 25 2e 69 6d 70 6f 72  les/%.o  %.impor
0d00: 74 2e 73 63 6d 20 3a 20 25 2e 73 63 6d 20 6d 65  t.scm : %.scm me
0d10: 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61  gatest-fossil-ha
0d20: 73 68 2e 73 63 6d 0a 23 09 40 5b 20 2d 65 20 6d  sh.scm.#.@[ -e m
0d30: 6f 66 69 6c 65 73 20 5d 20 7c 7c 20 6d 6b 64 69  ofiles ] || mkdi
0d40: 72 20 2d 70 20 6d 6f 66 69 6c 65 73 0a 23 09 63  r -p mofiles.#.c
0d50: 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 2d 49  sc $(CSCOPTS) -I
0d60: 20 6d 6f 66 69 6c 65 73 20 2d 49 20 24 2a 20 2d   mofiles -I $* -
0d70: 4a 20 2d 63 20 24 3c 20 2d 6f 20 24 2a 2e 6f 0a  J -c $< -o $*.o.
0d80: 23 09 63 70 20 24 2a 2e 6f 20 6d 6f 66 69 6c 65  #.cp $*.o mofile
0d90: 73 2f 24 2a 2e 6f 0a 23 09 40 74 6f 75 63 68 20  s/$*.o.#.@touch 
0da0: 24 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d 20 23 20  $*.import.scm # 
0db0: 65 6e 73 75 72 65 20 69 74 20 69 73 20 74 6f 75  ensure it is tou
0dc0: 63 68 65 64 20 61 66 74 65 72 20 74 68 65 20 2e  ched after the .
0dd0: 6f 20 69 73 20 6d 61 64 65 0a 0a 25 2e 69 6d 70  o is made..%.imp
0de0: 6f 72 74 2e 73 63 6d 20 6d 6f 66 69 6c 65 73 2f  ort.scm mofiles/
0df0: 25 2e 6f 20 3a 20 25 2e 73 63 6d 0a 09 40 6d 6b  %.o : %.scm..@mk
0e00: 64 69 72 20 2d 70 20 6d 6f 66 69 6c 65 73 0a 09  dir -p mofiles..
0e10: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 2d  csc $(CSCOPTS) -
0e20: 4a 20 2d 63 20 24 3c 20 2d 6f 20 6d 6f 66 69 6c  J -c $< -o mofil
0e30: 65 73 2f 24 2a 2e 6f 0a 09 40 69 66 20 5b 5b 20  es/$*.o..@if [[ 
0e40: 2d 65 20 24 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d  -e $*.import.scm
0e50: 20 5d 5d 3b 74 68 65 6e 20 74 6f 75 63 68 20 24   ]];then touch $
0e60: 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d 3b 66 69 20  *.import.scm;fi 
0e70: 23 20 65 6e 73 75 72 65 20 69 74 20 69 73 20 74  # ensure it is t
0e80: 6f 75 63 68 65 64 20 61 66 74 65 72 20 74 68 65  ouched after the
0e90: 20 2e 6f 20 69 73 20 6d 61 64 65 0a 0a 41 44 54   .o is made..ADT
0ea0: 4c 53 43 52 3d 6d 74 5f 6c 61 73 74 73 74 65 70  LSCR=mt_laststep
0eb0: 20 6d 74 5f 72 75 6e 73 74 65 70 20 6d 74 5f 65   mt_runstep mt_e
0ec0: 7a 73 74 65 70 0a 48 45 4c 50 45 52 53 3d 24 28  zstep.HELPERS=$(
0ed0: 61 64 64 70 72 65 66 69 78 20 24 28 50 52 45 46  addprefix $(PREF
0ee0: 49 58 29 2f 62 69 6e 2f 2c 24 28 41 44 54 4c 53  IX)/bin/,$(ADTLS
0ef0: 43 52 29 29 0a 44 45 50 4c 4f 59 48 45 4c 50 45  CR)).DEPLOYHELPE
0f00: 52 53 3d 24 28 61 64 64 70 72 65 66 69 78 20 64  RS=$(addprefix d
0f10: 65 70 6c 6f 79 74 61 72 67 2f 2c 24 28 41 44 54  eploytarg/,$(ADT
0f20: 4c 53 43 52 29 29 0a 4d 54 45 53 54 48 41 53 48  LSCR)).MTESTHASH
0f30: 3d 24 28 73 68 65 6c 6c 20 69 66 20 5b 5b 20 2d  =$(shell if [[ -
0f40: 65 20 2e 66 73 6c 63 6b 6f 75 74 20 5d 5d 3b 74  e .fslckout ]];t
0f50: 68 65 6e 20 66 6f 73 73 69 6c 20 69 6e 66 6f 7c  hen fossil info|
0f60: 67 72 65 70 20 63 68 65 63 6b 6f 75 74 3a 7c 20  grep checkout:| 
0f70: 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 24 32 7d  awk '{print $$2}
0f80: 27 3b 65 6c 73 65 20 65 63 68 6f 20 22 6e 61 22  ';else echo "na"
0f90: 3b 66 69 29 0a 0a 69 66 65 71 20 28 24 28 4d 54  ;fi)..ifeq ($(MT
0fa0: 45 53 54 48 41 53 48 29 2c 29 0a 24 28 65 72 72  ESTHASH),).$(err
0fb0: 6f 72 20 4d 54 45 53 54 48 41 53 48 20 69 73 20  or MTESTHASH is 
0fc0: 62 72 6f 6b 65 6e 21 29 0a 65 6e 64 69 66 0a 0a  broken!).endif..
0fd0: 23 20 43 53 49 50 41 54 48 3d 24 28 73 68 65 6c  # CSIPATH=$(shel
0fe0: 6c 20 77 68 69 63 68 20 63 73 69 29 0a 23 20 43  l which csi).# C
0ff0: 4b 50 41 54 48 3d 24 28 73 68 65 6c 6c 20 64 69  KPATH=$(shell di
1000: 72 6e 61 6d 65 20 24 28 73 68 65 6c 6c 20 64 69  rname $(shell di
1010: 72 6e 61 6d 65 20 24 28 43 53 49 50 41 54 48 29  rname $(CSIPATH)
1020: 29 29 0a 23 20 41 52 43 48 53 54 52 3d 24 28 73  )).# ARCHSTR=$(s
1030: 68 65 6c 6c 20 75 6e 61 6d 65 20 2d 6d 29 5f 24  hell uname -m)_$
1040: 28 73 68 65 6c 6c 20 75 6e 61 6d 65 20 2d 72 29  (shell uname -r)
1050: 0a 23 20 42 41 53 48 5f 4d 41 43 48 54 59 50 45  .# BASH_MACHTYPE
1060: 3d 24 28 73 68 65 6c 6c 20 62 61 73 68 20 2d 63  =$(shell bash -c
1070: 20 22 65 63 68 6f 20 5c 24 24 4d 41 43 48 54 59   "echo \$$MACHTY
1080: 50 45 22 29 0a 23 20 41 52 43 48 53 54 52 3d 24  PE").# ARCHSTR=$
1090: 28 42 41 53 48 5f 4d 41 43 48 54 59 50 45 29 5f  (BASH_MACHTYPE)_
10a0: 24 28 73 68 65 6c 6c 20 6c 73 62 5f 72 65 6c 65  $(shell lsb_rele
10b0: 61 73 65 20 2d 73 72 29 0a 41 52 43 48 53 54 52  ase -sr).ARCHSTR
10c0: 3d 24 28 73 68 65 6c 6c 20 69 66 20 5b 5b 20 2d  =$(shell if [[ -
10d0: 65 20 2f 75 73 72 2f 62 69 6e 2f 73 77 5f 76 65  e /usr/bin/sw_ve
10e0: 72 73 20 5d 5d 3b 20 74 68 65 6e 20 2f 75 73 72  rs ]]; then /usr
10f0: 2f 62 69 6e 2f 73 77 5f 76 65 72 73 20 2d 70 72  /bin/sw_vers -pr
1100: 6f 64 75 63 74 56 65 72 73 69 6f 6e 3b 20 65 6c  oductVersion; el
1110: 73 65 20 6c 73 62 5f 72 65 6c 65 61 73 65 20 2d  se lsb_release -
1120: 73 72 3b 20 66 69 29 0a 23 20 41 52 43 48 53 54  sr; fi).# ARCHST
1130: 52 3d 24 28 73 68 65 6c 6c 20 62 61 73 68 20 2d  R=$(shell bash -
1140: 63 20 22 65 63 68 6f 20 5c 24 24 4d 41 43 48 54  c "echo \$$MACHT
1150: 59 50 45 22 29 0a 0a 50 4e 47 46 49 4c 45 53 20  YPE")..PNGFILES 
1160: 3d 20 24 28 73 68 65 6c 6c 20 63 64 20 64 6f 63  = $(shell cd doc
1170: 73 2f 6d 61 6e 75 61 6c 3b 6c 73 20 2a 70 6e 67  s/manual;ls *png
1180: 29 0a 0a 0a 6d 74 65 73 74 3a 20 24 28 4f 46 49  )...mtest: $(OFI
1190: 4c 45 53 29 20 72 65 61 64 6c 69 6e 65 2d 66 69  LES) readline-fi
11a0: 78 2e 73 63 6d 20 24 28 4d 4f 46 49 4c 45 53 29  x.scm $(MOFILES)
11b0: 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29 20 6d   $(MOIMPFILES) m
11c0: 65 67 61 74 65 73 74 2e 6f 20 20 6d 65 67 61 74  egatest.o  megat
11d0: 65 73 74 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a  est-version.scm.
11e0: 09 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20  .csc $(CSCOPTS) 
11f0: 24 28 4f 46 49 4c 45 53 29 20 24 28 4d 4f 46 49  $(OFILES) $(MOFI
1200: 4c 45 53 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45  LES) $(MOIMPFILE
1210: 53 29 20 6d 65 67 61 74 65 73 74 2e 6f 20 2d 6f  S) megatest.o -o
1220: 20 6d 74 65 73 74 0a 0a 73 68 6f 77 6d 74 65 73   mtest..showmtes
1230: 74 68 61 73 68 3a 0a 09 40 65 63 68 6f 20 24 28  thash:..@echo $(
1240: 4d 54 45 53 54 48 41 53 48 29 0a 0a 64 62 6f 61  MTESTHASH)..dboa
1250: 72 64 20 3a 20 24 28 4f 46 49 4c 45 53 29 20 24  rd : $(OFILES) $
1260: 28 47 4f 46 49 4c 45 53 29 20 64 61 73 68 62 6f  (GOFILES) dashbo
1270: 61 72 64 2e 73 63 6d 20 24 28 4d 4f 46 49 4c 45  ard.scm $(MOFILE
1280: 53 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29  S) $(MOIMPFILES)
1290: 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f   megatest-versio
12a0: 6e 2e 73 63 6d 20 6d 65 67 61 74 65 73 74 2d 66  n.scm megatest-f
12b0: 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 0a 09  ossil-hash.scm..
12c0: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 24  csc $(CSCOPTS) $
12d0: 28 4f 46 49 4c 45 53 29 20 64 61 73 68 62 6f 61  (OFILES) dashboa
12e0: 72 64 2e 73 63 6d 20 24 28 47 4f 46 49 4c 45 53  rd.scm $(GOFILES
12f0: 29 20 24 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d  ) $(MOFILES) $(M
1300: 4f 49 4d 50 46 49 4c 45 53 29 20 2d 6f 20 64 62  OIMPFILES) -o db
1310: 6f 61 72 64 0a 0a 6d 74 75 74 3a 20 24 28 4f 46  oard..mtut: $(OF
1320: 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29  ILES) $(MOFILES)
1330: 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29 20 6d   $(MOIMPFILES) m
1340: 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68  egatest-fossil-h
1350: 61 73 68 2e 73 63 6d 20 6d 74 75 74 2e 73 63 6d  ash.scm mtut.scm
1360: 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f   megatest-versio
1370: 6e 2e 73 63 6d 20 0a 09 63 73 63 20 24 28 43 53  n.scm ..csc $(CS
1380: 43 4f 50 54 53 29 20 24 28 4f 46 49 4c 45 53 29  COPTS) $(OFILES)
1390: 20 24 28 4d 4f 46 49 4c 45 53 29 20 20 24 28 4d   $(MOFILES)  $(M
13a0: 4f 49 4d 50 46 49 4c 45 53 29 20 6d 74 75 74 2e  OIMPFILES) mtut.
13b0: 73 63 6d 20 2d 6f 20 6d 74 75 74 0a 0a 23 20 69  scm -o mtut..# i
13c0: 6e 63 6c 75 64 65 20 6d 61 6b 65 66 69 6c 65 2e  nclude makefile.
13d0: 69 6e 63 0a 0a 23 20 54 43 4d 54 4f 42 4a 53 20  inc..# TCMTOBJS 
13e0: 3d 20 5c 0a 23 20 09 61 70 69 2e 6f 20 5c 0a 23  = \.# .api.o \.#
13f0: 20 09 61 72 63 68 69 76 65 2e 6f 20 5c 0a 23 20   .archive.o \.# 
1400: 09 63 67 69 73 65 74 75 70 2f 6d 6f 64 65 6c 73  .cgisetup/models
1410: 2f 70 67 64 62 2e 6f 20 5c 0a 23 20 09 63 6f 6d  /pgdb.o \.# .com
1420: 6d 6f 6e 2e 6f 20 5c 0a 23 20 09 63 6f 6e 66 69  mon.o \.# .confi
1430: 67 66 2e 6f 20 5c 0a 23 20 09 64 62 2e 6f 20 5c  gf.o \.# .db.o \
1440: 0a 23 20 09 65 6e 76 2e 6f 20 5c 0a 23 20 09 69  .# .env.o \.# .i
1450: 74 65 6d 73 2e 6f 20 5c 0a 23 20 09 6b 65 79 73  tems.o \.# .keys
1460: 2e 6f 20 5c 0a 23 20 09 6c 61 75 6e 63 68 2e 6f  .o \.# .launch.o
1470: 20 5c 0a 23 20 09 6d 61 72 67 73 2e 6f 20 5c 0a   \.# .margs.o \.
1480: 23 20 09 6d 74 2e 6f 20 5c 0a 23 20 09 6f 64 73  # .mt.o \.# .ods
1490: 2e 6f 20 5c 0a 23 20 09 70 72 6f 63 65 73 73 2e  .o \.# .process.
14a0: 6f 20 5c 0a 23 20 09 72 6d 74 2e 6f 20 5c 0a 23  o \.# .rmt.o \.#
14b0: 20 09 72 75 6e 63 6f 6e 66 69 67 2e 6f 20 5c 0a   .runconfig.o \.
14c0: 23 20 09 72 75 6e 73 2e 6f 20 5c 0a 23 20 09 73  # .runs.o \.# .s
14d0: 65 72 76 65 72 2e 6f 20 5c 0a 23 20 09 74 61 73  erver.o \.# .tas
14e0: 6b 73 2e 6f 20 5c 0a 23 20 09 74 64 62 2e 6f 20  ks.o \.# .tdb.o 
14f0: 5c 0a 23 20 09 74 65 73 74 73 2e 6f 20 5c 0a 23  \.# .tests.o \.#
1500: 20 09 73 75 62 72 75 6e 2e 6f 20 5c 0a 23 20 20   .subrun.o \.#  
1510: 20 20 20 20 20 20 20 65 7a 73 74 65 70 73 2e 6f         ezsteps.o
1520: 0a 23 20 0a 23 20 23 20 20 20 20 20 20 20 20 6d  .# .# #        m
1530: 6f 66 69 6c 65 73 2f 72 6d 74 6d 6f 64 2e 6f 20  ofiles/rmtmod.o 
1540: 5c 0a 23 20 23 20 20 20 20 20 20 20 20 6d 6f 66  \.# #        mof
1550: 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f  iles/commonmod.o
1560: 20 5c 0a 23 20 0a 23 20 74 63 6d 74 20 3a 20 24   \.# .# tcmt : $
1570: 28 54 43 4d 54 4f 42 4a 53 29 20 74 63 6d 74 2e  (TCMTOBJS) tcmt.
1580: 73 63 6d 20 6d 65 67 61 74 65 73 74 2d 76 65 72  scm megatest-ver
1590: 73 69 6f 6e 2e 73 63 6d 20 24 28 4d 4f 46 49 4c  sion.scm $(MOFIL
15a0: 45 53 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53  ES) $(MOIMPFILES
15b0: 29 0a 23 20 09 63 73 63 20 24 28 43 53 43 4f 50  ).# .csc $(CSCOP
15c0: 54 53 29 20 24 28 54 43 4d 54 4f 42 4a 53 29 20  TS) $(TCMTOBJS) 
15d0: 24 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d 4f 49  $(MOFILES) $(MOI
15e0: 4d 50 46 49 4c 45 53 29 20 74 63 6d 74 2e 73 63  MPFILES) tcmt.sc
15f0: 6d 20 2d 6f 20 74 63 6d 74 0a 0a 23 20 69 6e 73  m -o tcmt..# ins
1600: 74 61 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69  tall documentati
1610: 6f 6e 20 74 6f 20 24 28 50 52 45 46 49 58 29 2f  on to $(PREFIX)/
1620: 64 6f 63 73 0a 23 20 44 4f 45 53 20 4e 4f 54 20  docs.# DOES NOT 
1630: 52 45 42 55 49 4c 44 20 44 4f 43 53 0a 23 0a 24  REBUILD DOCS.#.$
1640: 28 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 64  (PREFIX)/share/d
1650: 6f 63 73 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e  ocs/megatest_man
1660: 75 61 6c 2e 68 74 6d 6c 20 3a 20 64 6f 63 73 2f  ual.html : docs/
1670: 6d 61 6e 75 61 6c 2f 6d 65 67 61 74 65 73 74 5f  manual/megatest_
1680: 6d 61 6e 75 61 6c 2e 68 74 6d 6c 0a 09 6d 6b 64  manual.html..mkd
1690: 69 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f  ir -p $(PREFIX)/
16a0: 73 68 61 72 65 2f 64 6f 63 73 0a 09 24 28 49 4e  share/docs..$(IN
16b0: 53 54 41 4c 4c 29 20 64 6f 63 73 2f 6d 61 6e 75  STALL) docs/manu
16c0: 61 6c 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75  al/megatest_manu
16d0: 61 6c 2e 68 74 6d 6c 20 24 28 50 52 45 46 49 58  al.html $(PREFIX
16e0: 29 2f 73 68 61 72 65 2f 64 6f 63 73 2f 6d 65 67  )/share/docs/meg
16f0: 61 74 65 73 74 5f 6d 61 6e 75 61 6c 2e 68 74 6d  atest_manual.htm
1700: 6c 0a 09 66 6f 72 20 70 6e 67 20 69 6e 20 24 28  l..for png in $(
1710: 50 4e 47 46 49 4c 45 53 29 3b 64 6f 20 24 28 49  PNGFILES);do $(I
1720: 4e 53 54 41 4c 4c 29 20 64 6f 63 73 2f 6d 61 6e  NSTALL) docs/man
1730: 75 61 6c 2f 24 24 70 6e 67 20 24 28 50 52 45 46  ual/$$png $(PREF
1740: 49 58 29 2f 73 68 61 72 65 2f 64 6f 63 73 2f 24  IX)/share/docs/$
1750: 24 70 6e 67 3b 64 6f 6e 65 0a 0a 23 20 61 64 64  $png;done..# add
1760: 20 61 20 66 61 6b 65 20 64 65 70 65 6e 64 65 6e   a fake dependen
1770: 63 79 20 73 6f 20 74 68 69 73 20 64 6f 65 6e 73  cy so this doens
1780: 27 74 20 63 6f 70 79 20 65 76 65 72 79 74 69 6d  't copy everytim
1790: 65 0a 24 28 50 52 45 46 49 58 29 2f 73 68 61 72  e.$(PREFIX)/shar
17a0: 65 2f 6a 73 2f 6a 71 75 65 72 79 2d 33 2e 31 2e  e/js/jquery-3.1.
17b0: 30 2e 73 6c 69 6d 2e 6d 69 6e 2e 6a 73 20 3a 20  0.slim.min.js : 
17c0: 23 20 2e 66 73 6c 63 6b 6f 75 74 0a 09 6d 6b 64  # .fslckout..mkd
17d0: 69 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f  ir -p $(PREFIX)/
17e0: 73 68 61 72 65 2f 6a 73 0a 09 63 70 20 75 74 69  share/js..cp uti
17f0: 6c 73 2f 6a 61 76 61 2d 73 63 72 69 70 74 2d 6c  ls/java-script-l
1800: 69 62 20 24 28 50 52 45 46 49 58 29 2f 73 68 61  ib $(PREFIX)/sha
1810: 72 65 2f 6a 73 2f 6a 71 75 65 72 79 2d 33 2e 31  re/js/jquery-3.1
1820: 2e 30 2e 73 6c 69 6d 2e 6d 69 6e 2e 6a 73 0a 0a  .0.slim.min.js..
1830: 24 28 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f  $(PREFIX)/share/
1840: 64 62 2f 6d 74 2d 70 67 2e 73 71 6c 20 3a 20 6d  db/mt-pg.sql : m
1850: 74 2d 70 67 2e 73 71 6c 0a 09 6d 6b 64 69 72 20  t-pg.sql..mkdir 
1860: 2d 70 20 24 28 50 52 45 46 49 58 29 2f 73 68 61  -p $(PREFIX)/sha
1870: 72 65 2f 64 62 0a 09 24 28 49 4e 53 54 41 4c 4c  re/db..$(INSTALL
1880: 29 20 6d 74 2d 70 67 2e 73 71 6c 20 24 28 50 52  ) mt-pg.sql $(PR
1890: 45 46 49 58 29 2f 73 68 61 72 65 2f 64 62 2f 6d  EFIX)/share/db/m
18a0: 74 2d 70 67 2e 73 71 6c 0a 0a 23 20 53 70 65 63  t-pg.sql..# Spec
18b0: 69 61 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73  ial dependencies
18c0: 20 66 6f 72 20 74 68 65 20 69 6e 63 6c 75 64 65   for the include
18d0: 73 0a 24 28 4d 4f 46 49 4c 45 29 20 24 28 4d 4f  s.$(MOFILE) $(MO
18e0: 49 4d 50 46 49 4c 45 53 29 20 3a 20 6d 65 67 61  IMPFILES) : mega
18f0: 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68  test-fossil-hash
1900: 2e 73 63 6d 0a 0a 6d 6f 66 69 6c 65 73 2f 63 6f  .scm..mofiles/co
1910: 6d 6d 6f 6e 6d 6f 64 2e 6f 20 3a 20 6d 6f 66 69  mmonmod.o : mofi
1920: 6c 65 73 2f 64 65 62 75 67 70 72 69 6e 74 2e 6f  les/debugprint.o
1930: 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c   megatest-fossil
1940: 2d 68 61 73 68 2e 73 63 6d 0a 63 6f 6d 6d 6f 6e  -hash.scm.common
1950: 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 63 6f 6d  .o : mofiles/com
1960: 6d 6f 6e 6d 6f 64 2e 6f 0a 0a 23 20 6d 6f 66 69  monmod.o..# mofi
1970: 6c 65 73 2f 64 62 6d 6f 64 2e 6f 20 3a 20 6d 6f  les/dbmod.o : mo
1980: 66 69 6c 65 73 2f 63 6f 6e 66 69 67 66 6d 6f 64  files/configfmod
1990: 2e 6f 0a 0a 23 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e  .o..# commonmod.
19a0: 6f 20 64 61 73 68 62 6f 61 72 64 2e 6f 20 6d 65  o dashboard.o me
19b0: 67 61 74 65 73 74 2e 6f 20 74 63 6d 74 2e 6f 20  gatest.o tcmt.o 
19c0: 61 70 69 6d 6f 64 2e 6f 20 3a 20 6d 65 67 61 74  apimod.o : megat
19d0: 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e  est-fossil-hash.
19e0: 73 63 6d 0a 0a 74 65 73 74 73 2e 6f 20 64 62 2e  scm..tests.o db.
19f0: 6f 20 6c 61 75 6e 63 68 2e 6f 20 72 75 6e 73 2e  o launch.o runs.
1a00: 6f 20 64 61 73 68 62 6f 61 72 64 2d 74 65 73 74  o dashboard-test
1a10: 73 2e 6f 09 09 09 09 5c 0a 64 61 73 68 62 6f 61  s.o....\.dashboa
1a20: 72 64 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e  rd-context-menu.
1a30: 6f 20 64 61 73 68 62 6f 61 72 64 2d 67 75 69 6d  o dashboard-guim
1a40: 6f 6e 69 74 6f 72 2e 6f 20 64 61 73 68 62 6f 61  onitor.o dashboa
1a50: 72 64 2d 6d 61 69 6e 2e 6f 09 5c 0a 6d 6f 6e 69  rd-main.o.\.moni
1a60: 74 6f 72 2e 6f 20 64 61 73 68 62 6f 61 72 64 2e  tor.o dashboard.
1a70: 6f 20 61 72 63 68 69 76 65 2e 6f 20 6d 65 67 61  o archive.o mega
1a80: 74 65 73 74 2e 6f 20 3a 20 64 62 5f 72 65 63 6f  test.o : db_reco
1a90: 72 64 73 2e 73 63 6d 20 6d 65 67 61 74 65 73 74  rds.scm megatest
1aa0: 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d  -fossil-hash.scm
1ab0: 0a 0a 74 65 73 74 73 2e 6f 20 72 75 6e 73 2e 6f  ..tests.o runs.o
1ac0: 20 64 61 73 68 62 6f 61 72 64 2e 6f 20 64 61 73   dashboard.o das
1ad0: 68 62 6f 61 72 64 2d 74 65 73 74 73 2e 6f 20 64  hboard-tests.o d
1ae0: 61 73 68 62 6f 61 72 64 2d 63 6f 6e 74 65 78 74  ashboard-context
1af0: 2d 6d 65 6e 75 2e 6f 20 64 61 73 68 62 6f 61 72  -menu.o dashboar
1b00: 64 2d 6d 61 69 6e 2e 6f 20 20 3a 20 72 75 6e 5f  d-main.o  : run_
1b10: 72 65 63 6f 72 64 73 2e 73 63 6d 0a 0a 64 62 2e  records.scm..db.
1b20: 6f 20 65 7a 73 74 65 70 73 2e 6f 20 6b 65 79 73  o ezsteps.o keys
1b30: 2e 6f 20 6c 61 75 6e 63 68 2e 6f 20 6d 65 67 61  .o launch.o mega
1b40: 74 65 73 74 2e 6f 20 6d 6f 6e 69 74 6f 72 2e 6f  test.o monitor.o
1b50: 20 72 75 6e 73 2d 66 6f 72 2d 72 65 66 2e 6f 20   runs-for-ref.o 
1b60: 72 75 6e 73 2e 6f 20 74 65 73 74 73 2e 6f 20 3a  runs.o tests.o :
1b70: 20 6b 65 79 5f 72 65 63 6f 72 64 73 2e 73 63 6d   key_records.scm
1b80: 0a 64 62 2e 6f 20 61 70 69 2e 6f 20 3a 20 6d 6f  .db.o api.o : mo
1b90: 66 69 6c 65 73 2f 64 62 6d 6f 64 2e 6f 20 6d 6f  files/dbmod.o mo
1ba0: 66 69 6c 65 73 2f 64 62 66 69 6c 65 2e 6f 20 6d  files/dbfile.o m
1bb0: 6f 66 69 6c 65 73 2f 64 65 62 75 67 70 72 69 6e  ofiles/debugprin
1bc0: 74 2e 6f 20 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d  t.o mofiles/comm
1bd0: 6f 6e 6d 6f 64 2e 6f 20 64 62 6d 6f 64 2e 69 6d  onmod.o dbmod.im
1be0: 70 6f 72 74 2e 6f 0a 0a 74 65 73 74 73 2e 6f 20  port.o..tests.o 
1bf0: 74 61 73 6b 73 2e 6f 20 64 61 73 68 62 6f 61 72  tasks.o dashboar
1c00: 64 2d 74 61 73 6b 73 2e 6f 20 3a 20 74 61 73 6b  d-tasks.o : task
1c10: 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a 0a 72 75  _records.scm..ru
1c20: 6e 73 2e 6f 20 3a 20 74 65 73 74 5f 72 65 63 6f  ns.o : test_reco
1c30: 72 64 73 2e 73 63 6d 0a 0a 23 20 6d 6f 66 69 6c  rds.scm..# mofil
1c40: 65 73 2d 6d 61 64 65 20 3a 20 24 28 4d 4f 46 49  es-made : $(MOFI
1c50: 4c 45 53 29 0a 23 20 09 6d 61 6b 65 20 24 28 4d  LES).# .make $(M
1c60: 4f 49 4d 50 46 49 4c 45 53 29 0a 23 20 09 74 6f  OIMPFILES).# .to
1c70: 75 63 68 20 6d 6f 66 69 6c 65 73 2d 6d 61 64 65  uch mofiles-made
1c80: 0a 0a 6d 65 67 61 74 65 73 74 2e 6f 20 3a 20 6d  ..megatest.o : m
1c90: 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68  egatest-fossil-h
1ca0: 61 73 68 2e 73 63 6d 20 6d 65 67 61 74 65 73 74  ash.scm megatest
1cb0: 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 20 24 28 4d  -version.scm $(M
1cc0: 4f 46 49 4c 45 53 29 20 24 28 4d 4f 49 4d 50 46  OFILES) $(MOIMPF
1cd0: 49 4c 45 53 29 0a 0a 72 6d 74 2e 73 63 6d 20 63  ILES)..rmt.scm c
1ce0: 6f 6d 6d 6f 6e 2e 73 63 6d 20 63 6f 6e 66 69 67  ommon.scm config
1cf0: 66 2e 73 63 6d 20 64 61 73 68 62 6f 61 72 64 2d  f.scm dashboard-
1d00: 67 75 69 6d 6f 6e 69 74 6f 72 2e 73 63 6d 20 64  guimonitor.scm d
1d10: 61 73 68 62 6f 61 72 64 2d 74 65 73 74 73 2e 73  ashboard-tests.s
1d20: 63 6d 20 64 61 73 68 62 6f 61 72 64 2e 73 63 6d  cm dashboard.scm
1d30: 20 64 62 2e 73 63 6d 20 64 63 6f 6d 6d 6f 6e 2e   db.scm dcommon.
1d40: 73 63 6d 20 65 7a 73 74 65 70 73 2e 73 63 6d 20  scm ezsteps.scm 
1d50: 69 6e 64 65 78 2d 74 72 65 65 2e 73 63 6d 20 69  index-tree.scm i
1d60: 74 65 6d 73 2e 73 63 6d 20 6b 65 79 73 2e 73 63  tems.scm keys.sc
1d70: 6d 20 6c 61 75 6e 63 68 2e 73 63 6d 20 6d 65 67  m launch.scm meg
1d80: 61 74 65 73 74 2e 73 63 6d 20 6d 6f 6e 69 74 6f  atest.scm monito
1d90: 72 2e 73 63 6d 20 6d 74 2e 73 63 6d 20 6e 65 77  r.scm mt.scm new
1da0: 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 72 75  dashboard.scm ru
1db0: 6e 63 6f 6e 66 69 67 2e 73 63 6d 20 72 75 6e 73  nconfig.scm runs
1dc0: 2e 73 63 6d 20 73 65 72 76 65 72 2e 73 63 6d 20  .scm server.scm 
1dd0: 74 64 62 2e 73 63 6d 20 74 65 73 74 73 2e 73 63  tdb.scm tests.sc
1de0: 6d 20 74 72 65 65 2e 73 63 6d 20 3a 20 63 6f 6d  m tree.scm : com
1df0: 6d 6f 6e 5f 72 65 63 6f 72 64 73 2e 73 63 6d 20  mon_records.scm 
1e00: 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f 6e  megatest-version
1e10: 2e 73 63 6d 0a 0a 63 6f 6d 6d 6f 6e 5f 72 65 63  .scm..common_rec
1e20: 6f 72 64 73 2e 73 63 6d 20 3a 20 61 6c 74 64 62  ords.scm : altdb
1e30: 2e 73 63 6d 0a 0a 6d 6f 66 69 6c 65 73 2f 64 62  .scm..mofiles/db
1e40: 66 69 6c 65 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73  file.o : mofiles
1e50: 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a 0a 23 20  /commonmod.o..# 
1e60: 6d 6f 66 69 6c 65 73 2f 73 74 6d 6c 32 2e 6f 20  mofiles/stml2.o 
1e70: 3a 20 6d 6f 66 69 6c 65 73 2f 63 6f 6f 6b 69 65  : mofiles/cookie
1e80: 2e 6f 0a 23 20 63 6f 6e 66 69 67 66 2e 6f 20 3a  .o.# configf.o :
1e90: 20 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d   mofiles/commonm
1ea0: 6f 64 2e 6f 0a 0a 76 67 2e 6f 20 64 61 73 68 62  od.o..vg.o dashb
1eb0: 6f 61 72 64 2e 6f 20 3a 20 76 67 5f 72 65 63 6f  oard.o : vg_reco
1ec0: 72 64 73 2e 73 63 6d 20 6d 65 67 61 74 65 73 74  rds.scm megatest
1ed0: 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a 0a 64 63  -version.scm..dc
1ee0: 6f 6d 6d 6f 6e 2e 6f 20 3a 20 72 75 6e 5f 72 65  ommon.o : run_re
1ef0: 63 6f 72 64 73 2e 73 63 6d 0a 0a 6d 6f 66 69 6c  cords.scm..mofil
1f00: 65 73 2f 73 74 6d 6c 32 2e 6f 20 3a 20 6d 6f 66  es/stml2.o : mof
1f10: 69 6c 65 73 2f 63 6f 6f 6b 69 65 2e 6f 0a 0a 23  iles/cookie.o..#
1f20: 20 23 20 73 70 65 63 69 61 6c 20 69 6e 63 6c 75   # special inclu
1f30: 64 65 20 62 61 73 65 64 20 6d 6f 64 75 6c 65 73  de based modules
1f40: 0a 23 20 6d 6f 66 69 6c 65 73 2f 70 6b 74 73 2e  .# mofiles/pkts.
1f50: 6f 20 20 20 20 20 20 3a 20 70 6b 74 73 2f 70 6b  o      : pkts/pk
1f60: 74 73 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65 73  ts.scm.# mofiles
1f70: 2f 73 74 6d 6c 32 2e 6f 20 20 20 20 20 3a 20 63  /stml2.o     : c
1f80: 6f 6f 6b 69 65 2e 6f 0a 23 20 23 20 6d 6f 66 69  ookie.o.# # mofi
1f90: 6c 65 73 2f 6d 74 61 72 67 73 2e 6f 20 20 20 20  les/mtargs.o    
1fa0: 3a 20 6d 74 61 72 67 73 2f 6d 74 61 72 67 73 2e  : mtargs/mtargs.
1fb0: 73 63 6d 0a 23 20 23 20 6d 6f 66 69 6c 65 73 2f  scm.# # mofiles/
1fc0: 6d 74 63 6f 6e 66 69 67 66 2e 6f 20 3a 20 6d 74  mtconfigf.o : mt
1fd0: 63 6f 6e 66 69 67 66 2f 6d 74 63 6f 6e 66 69 67  configf/mtconfig
1fe0: 66 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65 73 2f  f.scm.# mofiles/
1ff0: 75 6c 65 78 2e 6f 20 20 20 20 20 20 3a 20 75 6c  ulex.o      : ul
2000: 65 78 2f 75 6c 65 78 2e 73 63 6d 0a 23 20 6d 6f  ex/ulex.scm.# mo
2010: 66 69 6c 65 73 2f 6d 75 74 69 6c 73 2e 6f 20 20  files/mutils.o  
2020: 20 20 3a 20 6d 75 74 69 6c 73 2f 6d 75 74 69 6c    : mutils/mutil
2030: 73 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65 73 2f  s.scm.# mofiles/
2040: 63 6f 6f 6b 69 65 2e 6f 20 20 20 20 3a 20 73 74  cookie.o    : st
2050: 6d 6c 32 2f 63 6f 6f 6b 69 65 2e 73 63 6d 0a 23  ml2/cookie.scm.#
2060: 20 6d 6f 66 69 6c 65 73 2f 73 74 6d 6c 32 2e 6f   mofiles/stml2.o
2070: 20 20 20 20 20 3a 20 73 74 6d 6c 32 2f 73 74 6d       : stml2/stm
2080: 6c 32 2e 73 63 6d 0a 0a 23 20 54 65 6d 70 6f 72  l2.scm..# Tempor
2090: 61 72 79 20 77 68 69 6c 65 20 74 72 61 6e 73 69  ary while transi
20a0: 74 69 6f 6e 69 6e 67 20 74 6f 20 6e 65 77 20 72  tioning to new r
20b0: 6f 75 74 69 6e 65 0a 23 20 72 75 6e 73 2e 6f 20  outine.# runs.o 
20c0: 3a 20 72 75 6e 2d 74 65 73 74 73 2d 71 75 65 75  : run-tests-queu
20d0: 65 2d 63 6c 61 73 73 69 63 2e 73 63 6d 20 20 72  e-classic.scm  r
20e0: 75 6e 2d 74 65 73 74 73 2d 71 75 65 75 65 2d 6e  un-tests-queue-n
20f0: 65 77 2e 73 63 6d 0a 0a 23 20 66 6f 72 20 74 68  ew.scm..# for th
2100: 65 20 6d 6f 64 75 6c 61 72 69 7a 65 64 20 73 74  e modularized st
2110: 75 66 66 0a 6d 6f 66 69 6c 65 73 2f 72 6d 74 6d  uff.mofiles/rmtm
2120: 6f 64 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 63  od.o : mofiles/c
2130: 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a 0a 6d 65 67 61  ommonmod.o..mega
2140: 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68  test-fossil-hash
2150: 2e 73 63 6d 20 3a 20 24 28 53 52 43 46 49 4c 45  .scm : $(SRCFILE
2160: 53 29 20 6d 65 67 61 74 65 73 74 2e 73 63 6d 20  S) megatest.scm 
2170: 2a 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a 09 65  *_records.scm..e
2180: 63 68 6f 20 22 28 64 65 66 69 6e 65 20 6d 65 67  cho "(define meg
2190: 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73  atest-fossil-has
21a0: 68 20 5c 22 24 28 4d 54 45 53 54 48 41 53 48 29  h \"$(MTESTHASH)
21b0: 5c 22 29 22 20 3e 20 6d 65 67 61 74 65 73 74 2d  \")" > megatest-
21c0: 66 6f 73 73 69 6c 2d 68 61 73 68 2e 6e 65 77 0a  fossil-hash.new.
21d0: 09 69 66 20 21 20 64 69 66 66 20 2d 71 20 6d 65  .if ! diff -q me
21e0: 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61  gatest-fossil-ha
21f0: 73 68 2e 6e 65 77 20 6d 65 67 61 74 65 73 74 2d  sh.new megatest-
2200: 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 20  fossil-hash.scm 
2210: 3b 20 74 68 65 6e 20 65 63 68 6f 20 63 6f 70 79  ; then echo copy
2220: 69 6e 67 20 2e 6e 65 77 20 74 6f 20 2e 73 63 6d  ing .new to .scm
2230: 3b 63 70 20 2d 66 20 6d 65 67 61 74 65 73 74 2d  ;cp -f megatest-
2240: 66 6f 73 73 69 6c 2d 68 61 73 68 2e 6e 65 77 20  fossil-hash.new 
2250: 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d  megatest-fossil-
2260: 68 61 73 68 2e 73 63 6d 3b 66 69 0a 0a 24 28 4f  hash.scm;fi..$(O
2270: 46 49 4c 45 53 29 20 24 28 47 4f 46 49 4c 45 53  FILES) $(GOFILES
2280: 29 20 3a 20 63 6f 6d 6d 6f 6e 5f 72 65 63 6f 72  ) : common_recor
2290: 64 73 2e 73 63 6d 20 0a 0a 25 2e 6f 20 3a 20 25  ds.scm ..%.o : %
22a0: 2e 73 63 6d 20 24 28 4d 4f 46 49 4c 45 53 29 0a  .scm $(MOFILES).
22b0: 09 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20  .csc $(CSCOPTS) 
22c0: 2d 63 20 24 3c 20 24 28 4d 4f 46 49 4c 45 53 29  -c $< $(MOFILES)
22d0: 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ..$(PREFIX)/bin/
22e0: 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 65 73  .$(ARCHSTR)/mtes
22f0: 74 20 3a 20 6d 74 65 73 74 20 75 74 69 6c 73 2f  t : mtest utils/
2300: 6d 6b 5f 77 72 61 70 70 65 72 0a 09 40 65 63 68  mk_wrapper..@ech
2310: 6f 20 49 6e 73 74 61 6c 6c 69 6e 67 20 74 6f 20  o Installing to 
2320: 50 52 45 46 49 58 3d 24 28 50 52 45 46 49 58 29  PREFIX=$(PREFIX)
2330: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 6d 74 65  ..$(INSTALL) mte
2340: 73 74 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  st $(PREFIX)/bin
2350: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 65  /.$(ARCHSTR)/mte
2360: 73 74 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61  st..utils/mk_wra
2370: 70 70 65 72 20 24 28 50 52 45 46 49 58 29 20 6d  pper $(PREFIX) m
2380: 74 65 73 74 20 24 28 50 52 45 46 49 58 29 2f 62  test $(PREFIX)/b
2390: 69 6e 2f 6d 65 67 61 74 65 73 74 0a 09 63 68 6d  in/megatest..chm
23a0: 6f 64 20 61 2b 78 20 24 28 50 52 45 46 49 58 29  od a+x $(PREFIX)
23b0: 2f 62 69 6e 2f 6d 65 67 61 74 65 73 74 0a 0a 24  /bin/megatest..$
23c0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
23d0: 41 52 43 48 53 54 52 29 2f 6e 64 62 6f 61 72 64  ARCHSTR)/ndboard
23e0: 20 3a 20 6e 64 62 6f 61 72 64 0a 09 24 28 49 4e   : ndboard..$(IN
23f0: 53 54 41 4c 4c 29 20 6e 64 62 6f 61 72 64 20 24  STALL) ndboard $
2400: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
2410: 41 52 43 48 53 54 52 29 2f 6e 64 62 6f 61 72 64  ARCHSTR)/ndboard
2420: 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ..$(PREFIX)/bin/
2430: 6e 65 77 64 61 73 68 62 6f 61 72 64 20 3a 20 24  newdashboard : $
2440: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
2450: 41 52 43 48 53 54 52 29 2f 6e 64 62 6f 61 72 64  ARCHSTR)/ndboard
2460: 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65   utils/mk_wrappe
2470: 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70  r..utils/mk_wrap
2480: 70 65 72 20 24 28 50 52 45 46 49 58 29 20 6e 64  per $(PREFIX) nd
2490: 62 6f 61 72 64 20 24 28 50 52 45 46 49 58 29 2f  board $(PREFIX)/
24a0: 62 69 6e 2f 6e 65 77 64 61 73 68 62 6f 61 72 64  bin/newdashboard
24b0: 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 28 50 52  ..chmod a+x $(PR
24c0: 45 46 49 58 29 2f 62 69 6e 2f 6e 65 77 64 61 73  EFIX)/bin/newdas
24d0: 68 62 6f 61 72 64 0a 0a 23 20 6d 74 75 74 69 6c  hboard..# mtutil
24e0: 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ..$(PREFIX)/bin/
24f0: 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 75 74  .$(ARCHSTR)/mtut
2500: 20 3a 20 6d 74 75 74 0a 09 24 28 49 4e 53 54 41   : mtut..$(INSTA
2510: 4c 4c 29 20 6d 74 75 74 20 24 28 50 52 45 46 49  LL) mtut $(PREFI
2520: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
2530: 52 29 2f 6d 74 75 74 0a 0a 69 6e 73 74 61 6c 6c  R)/mtut..install
2540: 2d 6d 74 75 74 20 3a 20 6d 74 75 74 0a 09 24 28  -mtut : mtut..$(
2550: 49 4e 53 54 41 4c 4c 29 20 6d 74 75 74 20 24 28  INSTALL) mtut $(
2560: 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74 75 74  PREFIX)/bin/mtut
2570: 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ..$(PREFIX)/bin/
2580: 6d 74 75 74 69 6c 20 3a 20 24 28 50 52 45 46 49  mtutil : $(PREFI
2590: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
25a0: 52 29 2f 6d 74 75 74 20 75 74 69 6c 73 2f 6d 6b  R)/mtut utils/mk
25b0: 5f 77 72 61 70 70 65 72 0a 09 75 74 69 6c 73 2f  _wrapper..utils/
25c0: 6d 6b 5f 77 72 61 70 70 65 72 20 24 28 50 52 45  mk_wrapper $(PRE
25d0: 46 49 58 29 20 6d 74 75 74 20 24 28 50 52 45 46  FIX) mtut $(PREF
25e0: 49 58 29 2f 62 69 6e 2f 6d 74 75 74 69 6c 0a 09  IX)/bin/mtutil..
25f0: 63 68 6d 6f 64 20 61 2b 78 20 24 28 50 52 45 46  chmod a+x $(PREF
2600: 49 58 29 2f 62 69 6e 2f 6d 74 75 74 69 6c 0a 0a  IX)/bin/mtutil..
2610: 23 20 6d 74 65 78 65 63 0a 0a 6d 74 65 78 65 63  # mtexec..mtexec
2620: 3a 20 24 28 4f 46 49 4c 45 53 29 20 24 28 4d 4f  : $(OFILES) $(MO
2630: 46 49 4c 45 53 29 20 6d 65 67 61 74 65 73 74 2d  FILES) megatest-
2640: 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 20  fossil-hash.scm 
2650: 6d 74 65 78 65 63 2e 73 63 6d 0a 09 63 73 63 20  mtexec.scm..csc 
2660: 24 28 43 53 43 4f 50 54 53 29 20 24 28 4f 46 49  $(CSCOPTS) $(OFI
2670: 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20  LES) $(MOFILES) 
2680: 6d 74 65 78 65 63 2e 73 63 6d 20 2d 6f 20 6d 74  mtexec.scm -o mt
2690: 65 78 65 63 0a 0a 24 28 50 52 45 46 49 58 29 2f  exec..$(PREFIX)/
26a0: 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f  bin/.$(ARCHSTR)/
26b0: 6d 74 65 78 65 63 20 3a 20 6d 74 65 78 65 63 0a  mtexec : mtexec.
26c0: 09 24 28 49 4e 53 54 41 4c 4c 29 20 6d 74 65 78  .$(INSTALL) mtex
26d0: 65 63 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  ec $(PREFIX)/bin
26e0: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 65  /.$(ARCHSTR)/mte
26f0: 78 65 63 0a 0a 24 28 50 52 45 46 49 58 29 2f 62  xec..$(PREFIX)/b
2700: 69 6e 2f 6d 74 65 78 65 63 20 3a 20 24 28 50 52  in/mtexec : $(PR
2710: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
2720: 48 53 54 52 29 2f 6d 74 65 78 65 63 20 75 74 69  HSTR)/mtexec uti
2730: 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 0a 09 75  ls/mk_wrapper..u
2740: 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 20  tils/mk_wrapper 
2750: 24 28 50 52 45 46 49 58 29 20 6d 74 65 78 65 63  $(PREFIX) mtexec
2760: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d   $(PREFIX)/bin/m
2770: 74 65 78 65 63 0a 09 63 68 6d 6f 64 20 61 2b 78  texec..chmod a+x
2780: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d   $(PREFIX)/bin/m
2790: 74 65 78 65 63 0a 0a 23 20 74 63 6d 74 0a 0a 23  texec..# tcmt..#
27a0: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e   $(PREFIX)/bin/.
27b0: 24 28 41 52 43 48 53 54 52 29 2f 74 63 6d 74 20  $(ARCHSTR)/tcmt 
27c0: 3a 20 74 63 6d 74 0a 23 20 09 24 28 49 4e 53 54  : tcmt.# .$(INST
27d0: 41 4c 4c 29 20 74 63 6d 74 20 24 28 50 52 45 46  ALL) tcmt $(PREF
27e0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
27f0: 54 52 29 2f 74 63 6d 74 0a 23 20 0a 23 20 24 28  TR)/tcmt.# .# $(
2800: 50 52 45 46 49 58 29 2f 62 69 6e 2f 74 63 6d 74  PREFIX)/bin/tcmt
2810: 20 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e   : $(PREFIX)/bin
2820: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 74 63 6d  /.$(ARCHSTR)/tcm
2830: 74 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70  t utils/mk_wrapp
2840: 65 72 0a 23 20 09 75 74 69 6c 73 2f 6d 6b 5f 77  er.# .utils/mk_w
2850: 72 61 70 70 65 72 20 24 28 50 52 45 46 49 58 29  rapper $(PREFIX)
2860: 20 74 63 6d 74 20 24 28 50 52 45 46 49 58 29 2f   tcmt $(PREFIX)/
2870: 62 69 6e 2f 74 63 6d 74 0a 23 20 09 63 68 6d 6f  bin/tcmt.# .chmo
2880: 64 20 61 2b 78 20 24 28 50 52 45 46 49 58 29 2f  d a+x $(PREFIX)/
2890: 62 69 6e 2f 74 63 6d 74 0a 0a 24 28 50 52 45 46  bin/tcmt..$(PREF
28a0: 49 58 29 2f 62 69 6e 2f 6d 74 5f 6c 61 73 74 73  IX)/bin/mt_lasts
28b0: 74 65 70 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 6c  tep : utils/mt_l
28c0: 61 73 74 73 74 65 70 0a 09 24 28 49 4e 53 54 41  aststep..$(INSTA
28d0: 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64  LL) $< $@..chmod
28e0: 20 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46 49   a+x $@..$(PREFI
28f0: 58 29 2f 62 69 6e 2f 6d 74 5f 72 75 6e 73 74 65  X)/bin/mt_runste
2900: 70 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 72 75 6e  p : utils/mt_run
2910: 73 74 65 70 0a 09 24 28 49 4e 53 54 41 4c 4c 29  step..$(INSTALL)
2920: 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b   $< $@..chmod a+
2930: 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f  x $@..$(PREFIX)/
2940: 62 69 6e 2f 73 65 72 69 61 6c 69 7a 65 2d 65 6e  bin/serialize-en
2950: 76 3a 20 73 65 72 69 61 6c 69 7a 65 2d 65 6e 76  v: serialize-env
2960: 2e 73 63 6d 0a 09 63 73 63 20 73 65 72 69 61 6c  .scm..csc serial
2970: 69 7a 65 2d 65 6e 76 2e 73 63 6d 0a 09 24 28 49  ize-env.scm..$(I
2980: 4e 53 54 41 4c 4c 29 20 73 65 72 69 61 6c 69 7a  NSTALL) serializ
2990: 65 2d 65 6e 76 20 24 40 0a 0a 24 28 50 52 45 46  e-env $@..$(PREF
29a0: 49 58 29 2f 62 69 6e 2f 6d 74 5f 65 7a 73 74 65  IX)/bin/mt_ezste
29b0: 70 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 65 7a 73  p : utils/mt_ezs
29c0: 74 65 70 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  tep..$(INSTALL) 
29d0: 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78  $< $@..chmod a+x
29e0: 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62   $@..$(PREFIX)/b
29f0: 69 6e 2f 6d 74 5f 78 74 65 72 6d 20 3a 20 75 74  in/mt_xterm : ut
2a00: 69 6c 73 2f 6d 74 5f 78 74 65 72 6d 0a 09 24 28  ils/mt_xterm..$(
2a10: 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09  INSTALL) $< $@..
2a20: 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28  chmod a+x $@..$(
2a30: 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e 62 66 61  PREFIX)/bin/nbfa
2a40: 6b 65 20 3a 20 75 74 69 6c 73 2f 6e 62 66 61 6b  ke : utils/nbfak
2a50: 65 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c  e..$(INSTALL) $<
2a60: 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24   $@..chmod a+x $
2a70: 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e  @..$(PREFIX)/bin
2a80: 2f 72 65 6d 72 75 6e 20 3a 20 75 74 69 6c 73 2f  /remrun : utils/
2a90: 72 65 6d 72 75 6e 0a 09 24 28 49 4e 53 54 41 4c  remrun..$(INSTAL
2aa0: 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20  L) $< $@..chmod 
2ab0: 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58  a+x $@..$(PREFIX
2ac0: 29 2f 62 69 6e 2f 76 69 65 77 73 63 72 65 65 6e  )/bin/viewscreen
2ad0: 20 3a 20 75 74 69 6c 73 2f 76 69 65 77 73 63 72   : utils/viewscr
2ae0: 65 65 6e 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  een..$(INSTALL) 
2af0: 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78  $< $@..chmod a+x
2b00: 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62   $@..$(PREFIX)/b
2b10: 69 6e 2f 6e 62 66 69 6e 64 20 3a 20 75 74 69 6c  in/nbfind : util
2b20: 73 2f 6e 62 66 69 6e 64 0a 09 24 28 49 4e 53 54  s/nbfind..$(INST
2b30: 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f  ALL) $< $@..chmo
2b40: 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46  d a+x $@..$(PREF
2b50: 49 58 29 2f 62 69 6e 2f 6d 74 72 75 6e 6e 65 72  IX)/bin/mtrunner
2b60: 20 3a 20 75 74 69 6c 73 2f 6d 74 72 75 6e 6e 65   : utils/mtrunne
2b70: 72 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c  r..$(INSTALL) $<
2b80: 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24   $@..chmod a+x $
2b90: 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e  @..$(PREFIX)/bin
2ba0: 2f 6d 74 2d 6f 6c 64 2d 74 6f 2d 6e 65 77 2e 73  /mt-old-to-new.s
2bb0: 68 20 3a 20 75 74 69 6c 73 2f 6d 74 2d 6f 6c 64  h : utils/mt-old
2bc0: 2d 74 6f 2d 6e 65 77 2e 73 68 0a 09 24 28 49 4e  -to-new.sh..$(IN
2bd0: 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68  STALL) $< $@..ch
2be0: 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52  mod a+x $@..$(PR
2bf0: 45 46 49 58 29 2f 62 69 6e 2f 6d 74 2d 6e 65 77  EFIX)/bin/mt-new
2c00: 2d 74 6f 2d 6f 6c 64 2e 73 68 20 3a 20 75 74 69  -to-old.sh : uti
2c10: 6c 73 2f 6d 74 2d 6e 65 77 2d 74 6f 2d 6f 6c 64  ls/mt-new-to-old
2c20: 2e 73 68 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  .sh..$(INSTALL) 
2c30: 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78  $< $@..chmod a+x
2c40: 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62   $@..$(PREFIX)/b
2c50: 69 6e 2f 63 6f 6e 76 65 72 74 2d 64 62 2e 73 68  in/convert-db.sh
2c60: 20 3a 20 75 74 69 6c 73 2f 63 6f 6e 76 65 72 74   : utils/convert
2c70: 2d 64 62 2e 73 68 0a 09 24 28 49 4e 53 54 41 4c  -db.sh..$(INSTAL
2c80: 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20  L) $< $@..chmod 
2c90: 61 2b 78 20 24 40 0a 0a 64 65 70 6c 6f 79 74 61  a+x $@..deployta
2ca0: 72 67 2f 6e 62 66 61 6b 65 20 3a 20 75 74 69 6c  rg/nbfake : util
2cb0: 73 2f 6e 62 66 61 6b 65 0a 09 24 28 49 4e 53 54  s/nbfake..$(INST
2cc0: 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f  ALL) $< $@..chmo
2cd0: 64 20 61 2b 78 20 24 40 0a 0a 64 65 70 6c 6f 79  d a+x $@..deploy
2ce0: 74 61 72 67 2f 76 69 65 77 73 63 72 65 65 6e 20  targ/viewscreen 
2cf0: 3a 20 75 74 69 6c 73 2f 76 69 65 77 73 63 72 65  : utils/viewscre
2d00: 65 6e 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24  en..$(INSTALL) $
2d10: 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20  < $@..chmod a+x 
2d20: 24 40 0a 0a 64 65 70 6c 6f 79 74 61 72 67 2f 6e  $@..deploytarg/n
2d30: 62 66 69 6e 64 20 3a 20 75 74 69 6c 73 2f 6e 62  bfind : utils/nb
2d40: 66 69 6e 64 0a 09 24 28 49 4e 53 54 41 4c 4c 29  find..$(INSTALL)
2d50: 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b   $< $@..chmod a+
2d60: 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f  x $@..$(PREFIX)/
2d70: 62 69 6e 2f 6d 74 65 73 74 2d 72 65 61 70 65 72  bin/mtest-reaper
2d80: 3a 20 68 65 6c 70 65 72 73 2f 6d 74 65 73 74 2d  : helpers/mtest-
2d90: 72 65 61 70 65 72 2e 73 63 6d 20 68 65 6c 70 65  reaper.scm helpe
2da0: 72 73 2f 64 75 63 74 74 61 70 65 2d 6c 69 62 2e  rs/ducttape-lib.
2db0: 73 63 6d 20 68 65 6c 70 65 72 73 2f 69 6e 74 65  scm helpers/inte
2dc0: 6c 64 61 74 65 2e 73 63 6d 20 68 65 6c 70 65 72  ldate.scm helper
2dd0: 73 2f 6d 69 6d 65 74 79 70 65 73 2e 73 63 6d 0a  s/mimetypes.scm.
2de0: 09 6d 61 6b 65 20 2d 43 20 68 65 6c 70 65 72 73  .make -C helpers
2df0: 20 24 40 20 50 52 45 46 49 58 3d 24 28 50 52 45   $@ PREFIX=$(PRE
2e00: 46 49 58 29 20 49 4e 53 54 41 4c 4c 3d 24 28 49  FIX) INSTALL=$(I
2e10: 4e 53 54 41 4c 4c 29 20 41 52 43 48 53 54 52 3d  NSTALL) ARCHSTR=
2e20: 24 28 41 52 43 48 53 54 52 29 0a 0a 6d 74 65 73  $(ARCHSTR)..mtes
2e30: 74 2d 72 65 61 70 65 72 3a 20 24 28 50 52 45 46  t-reaper: $(PREF
2e40: 49 58 29 2f 62 69 6e 2f 6d 74 65 73 74 2d 72 65  IX)/bin/mtest-re
2e50: 61 70 65 72 0a 0a 23 20 69 6e 73 74 61 6c 6c 20  aper..# install 
2e60: 64 61 73 68 62 6f 61 72 64 20 61 73 20 64 62 6f  dashboard as dbo
2e70: 61 72 64 20 73 6f 20 77 72 61 70 70 65 72 20 73  ard so wrapper s
2e80: 63 72 69 70 74 20 63 61 6e 20 62 65 20 63 61 6c  cript can be cal
2e90: 6c 65 64 20 64 61 73 68 62 6f 61 72 64 0a 24 28  led dashboard.$(
2ea0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
2eb0: 52 43 48 53 54 52 29 2f 64 62 6f 61 72 64 20 3a  RCHSTR)/dboard :
2ec0: 20 64 62 6f 61 72 64 20 24 28 46 49 4c 45 53 29   dboard $(FILES)
2ed0: 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65   utils/mk_wrappe
2ee0: 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70  r..utils/mk_wrap
2ef0: 70 65 72 20 24 28 50 52 45 46 49 58 29 20 64 62  per $(PREFIX) db
2f00: 6f 61 72 64 20 24 28 50 52 45 46 49 58 29 2f 62  oard $(PREFIX)/b
2f10: 69 6e 2f 64 61 73 68 62 6f 61 72 64 0a 09 63 68  in/dashboard..ch
2f20: 6d 6f 64 20 61 2b 78 20 24 28 50 52 45 46 49 58  mod a+x $(PREFIX
2f30: 29 2f 62 69 6e 2f 64 61 73 68 62 6f 61 72 64 0a  )/bin/dashboard.
2f40: 09 24 28 49 4e 53 54 41 4c 4c 29 20 64 62 6f 61  .$(INSTALL) dboa
2f50: 72 64 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  rd $(PREFIX)/bin
2f60: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 64 62 6f  /.$(ARCHSTR)/dbo
2f70: 61 72 64 0a 0a 24 28 50 52 45 46 49 58 29 2f 62  ard..$(PREFIX)/b
2f80: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c  in/.$(ARCHSTR)/l
2f90: 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30  ib/libpangox-1.0
2fa0: 2e 73 6f 20 3a 20 6c 69 62 2f 6c 69 62 70 61 6e  .so : lib/libpan
2fb0: 67 6f 78 2d 31 2e 30 2e 73 6f 0a 09 69 66 20 5b  gox-1.0.so..if [
2fc0: 5b 20 24 28 41 52 43 48 53 54 52 29 20 3d 3d 20  [ $(ARCHSTR) == 
2fd0: 31 32 2e 35 20 5d 5d 3b 20 74 68 65 6e 20 5c 0a  12.5 ]]; then \.
2fe0: 09 6d 6b 64 69 72 20 2d 70 20 24 28 50 52 45 46  .mkdir -p $(PREF
2ff0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
3000: 54 52 29 2f 6c 69 62 3b 20 5c 0a 09 24 28 49 4e  TR)/lib; \..$(IN
3010: 53 54 41 4c 4c 29 20 6c 69 62 2f 6c 69 62 70 61  STALL) lib/libpa
3020: 6e 67 6f 78 2d 31 2e 30 2e 73 6f 20 24 28 50 52  ngox-1.0.so $(PR
3030: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
3040: 48 53 54 52 29 2f 6c 69 62 2f 6c 69 62 70 61 6e  HSTR)/lib/libpan
3050: 67 6f 78 2d 31 2e 30 2e 73 6f 3b 20 5c 0a 09 66  gox-1.0.so; \..f
3060: 69 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e  i..$(PREFIX)/bin
3070: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c 69 62  /.$(ARCHSTR)/lib
3080: 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30 2e 73  /libpangox-1.0.s
3090: 6f 2e 30 20 3a 20 6c 69 62 2f 6c 69 62 70 61 6e  o.0 : lib/libpan
30a0: 67 6f 78 2d 31 2e 30 2e 73 6f 2e 30 0a 09 69 66  gox-1.0.so.0..if
30b0: 20 5b 5b 20 24 28 41 52 43 48 53 54 52 29 20 3d   [[ $(ARCHSTR) =
30c0: 3d 20 31 32 2e 35 20 5d 5d 3b 20 74 68 65 6e 20  = 12.5 ]]; then 
30d0: 5c 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 50 52  \..mkdir -p $(PR
30e0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
30f0: 48 53 54 52 29 2f 6c 69 62 3b 20 5c 0a 09 24 28  HSTR)/lib; \..$(
3100: 49 4e 53 54 41 4c 4c 29 20 6c 69 62 2f 6c 69 62  INSTALL) lib/lib
3110: 70 61 6e 67 6f 78 2d 31 2e 30 2e 73 6f 2e 30 20  pangox-1.0.so.0 
3120: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
3130: 28 41 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69  (ARCHSTR)/lib/li
3140: 62 70 61 6e 67 6f 78 2d 31 2e 30 2e 73 6f 2e 30  bpangox-1.0.so.0
3150: 3b 20 5c 0a 20 20 20 20 20 20 20 20 66 69 0a 0a  ; \.        fi..
3160: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
3170: 28 41 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69  (ARCHSTR)/lib/li
3180: 62 78 63 62 2d 78 6c 69 62 2e 73 6f 2e 30 20 3a  bxcb-xlib.so.0 :
3190: 20 6c 69 62 2f 6c 69 62 78 63 62 2d 78 6c 69 62   lib/libxcb-xlib
31a0: 2e 73 6f 2e 30 0a 09 69 66 20 5b 5b 20 24 28 41  .so.0..if [[ $(A
31b0: 52 43 48 53 54 52 29 20 3d 3d 20 31 32 2e 35 20  RCHSTR) == 12.5 
31c0: 5d 5d 3b 20 74 68 65 6e 20 5c 0a 09 6d 6b 64 69  ]]; then \..mkdi
31d0: 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f 62  r -p $(PREFIX)/b
31e0: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c  in/.$(ARCHSTR)/l
31f0: 69 62 3b 20 5c 0a 09 24 28 49 4e 53 54 41 4c 4c  ib; \..$(INSTALL
3200: 29 20 6c 69 62 2f 6c 69 62 78 63 62 2d 78 6c 69  ) lib/libxcb-xli
3210: 62 2e 73 6f 2e 30 20 24 28 50 52 45 46 49 58 29  b.so.0 $(PREFIX)
3220: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
3230: 2f 6c 69 62 2f 6c 69 62 78 63 62 2d 78 6c 69 62  /lib/libxcb-xlib
3240: 2e 73 6f 2e 30 3b 20 5c 0a 20 20 20 20 20 20 20  .so.0; \.       
3250: 20 66 69 0a 0a 69 6e 73 74 61 6c 6c 20 3a 20 24   fi..install : $
3260: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
3270: 41 52 43 48 53 54 52 29 20 24 28 50 52 45 46 49  ARCHSTR) $(PREFI
3280: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
3290: 52 29 2f 6d 74 65 73 74 20 24 28 50 52 45 46 49  R)/mtest $(PREFI
32a0: 58 29 2f 62 69 6e 2f 6d 65 67 61 74 65 73 74 20  X)/bin/megatest 
32b0: 5c 0a 20 20 20 20 20 20 20 20 20 20 24 28 50 52  \.          $(PR
32c0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
32d0: 48 53 54 52 29 2f 64 62 6f 61 72 64 20 24 28 50  HSTR)/dboard $(P
32e0: 52 45 46 49 58 29 2f 62 69 6e 2f 64 61 73 68 62  REFIX)/bin/dashb
32f0: 6f 61 72 64 20 24 28 48 45 4c 50 45 52 53 29 20  oard $(HELPERS) 
3300: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e 62  $(PREFIX)/bin/nb
3310: 66 61 6b 65 20 5c 0a 09 20 20 24 28 50 52 45 46  fake \..  $(PREF
3320: 49 58 29 2f 62 69 6e 2f 6e 62 66 69 6e 64 20 24  IX)/bin/nbfind $
3330: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74 72  (PREFIX)/bin/mtr
3340: 75 6e 6e 65 72 20 24 28 50 52 45 46 49 58 29 2f  unner $(PREFIX)/
3350: 62 69 6e 2f 76 69 65 77 73 63 72 65 65 6e 20 24  bin/viewscreen $
3360: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74 5f  (PREFIX)/bin/mt_
3370: 78 74 65 72 6d 20 5c 0a 20 20 20 20 20 20 20 20  xterm \.        
3380: 20 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f    $(PREFIX)/bin/
3390: 6d 74 2d 6f 6c 64 2d 74 6f 2d 6e 65 77 2e 73 68  mt-old-to-new.sh
33a0: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d   $(PREFIX)/bin/m
33b0: 74 2d 6e 65 77 2d 74 6f 2d 6f 6c 64 2e 73 68 20  t-new-to-old.sh 
33c0: 5c 0a 20 20 20 20 20 20 20 20 20 20 24 28 50 52  \.          $(PR
33d0: 45 46 49 58 29 2f 62 69 6e 2f 63 6f 6e 76 65 72  EFIX)/bin/conver
33e0: 74 2d 64 62 2e 73 68 20 24 28 50 52 45 46 49 58  t-db.sh $(PREFIX
33f0: 29 2f 62 69 6e 2f 63 6f 6e 76 65 72 74 2d 64 62  )/bin/convert-db
3400: 2e 73 68 20 5c 0a 09 20 20 24 28 50 52 45 46 49  .sh \..  $(PREFI
3410: 58 29 2f 73 68 61 72 65 2f 64 6f 63 73 2f 6d 65  X)/share/docs/me
3420: 67 61 74 65 73 74 5f 6d 61 6e 75 61 6c 2e 68 74  gatest_manual.ht
3430: 6d 6c 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  ml $(PREFIX)/bin
3440: 2f 72 65 6d 72 75 6e 20 5c 0a 09 20 20 24 28 50  /remrun \..  $(P
3450: 52 45 46 49 58 29 2f 73 68 61 72 65 2f 64 6f 63  REFIX)/share/doc
3460: 73 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75 61  s/megatest_manua
3470: 6c 2e 68 74 6d 6c 20 24 28 50 52 45 46 49 58 29  l.html $(PREFIX)
3480: 2f 62 69 6e 2f 72 65 6d 72 75 6e 20 24 28 50 52  /bin/remrun $(PR
3490: 45 46 49 58 29 2f 62 69 6e 2f 6d 74 75 74 69 6c  EFIX)/bin/mtutil
34a0: 20 5c 0a 09 20 20 24 28 50 52 45 46 49 58 29 2f   \..  $(PREFIX)/
34b0: 73 68 61 72 65 2f 64 62 2f 6d 74 2d 70 67 2e 73  share/db/mt-pg.s
34c0: 71 6c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 24  ql \.          $
34d0: 28 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 6a  (PREFIX)/share/j
34e0: 73 2f 6a 71 75 65 72 79 2d 33 2e 31 2e 30 2e 73  s/jquery-3.1.0.s
34f0: 6c 69 6d 2e 6d 69 6e 2e 6a 73 20 5c 0a 20 20 20  lim.min.js \.   
3500: 20 20 20 20 20 20 20 24 28 50 52 45 46 49 58 29         $(PREFIX)
3510: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
3520: 2f 6c 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31  /lib/libpangox-1
3530: 2e 30 2e 73 6f 20 5c 0a 20 20 20 20 20 20 20 20  .0.so \.        
3540: 20 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f    $(PREFIX)/bin/
3550: 2e 24 28 41 52 43 48 53 54 52 29 2f 6c 69 62 2f  .$(ARCHSTR)/lib/
3560: 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30 2e 73 6f  libpangox-1.0.so
3570: 2e 30 20 5c 0a 20 20 20 20 20 20 20 20 20 20 24  .0 \.          $
3580: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
3590: 41 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69 62  ARCHSTR)/lib/lib
35a0: 78 63 62 2d 78 6c 69 62 2e 73 6f 2e 30 20 24 28  xcb-xlib.so.0 $(
35b0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 73 65 72 69  PREFIX)/bin/seri
35c0: 61 6c 69 7a 65 2d 65 6e 76 0a 0a 23 20 20 20 20  alize-env..#    
35d0: 20 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 62       $(PREFIX)/b
35e0: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6e  in/.$(ARCHSTR)/n
35f0: 64 62 6f 61 72 64 20 24 28 50 52 45 46 49 58 29  dboard $(PREFIX)
3600: 2f 62 69 6e 2f 74 63 6d 74 20 0a 23 20 20 20 20  /bin/tcmt .#    
3610: 20 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 62       $(PREFIX)/b
3620: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d  in/.$(ARCHSTR)/m
3630: 74 65 78 65 63 20 24 28 50 52 45 46 49 58 29 2f  texec $(PREFIX)/
3640: 62 69 6e 2f 6d 74 65 78 65 63 20 24 28 50 52 45  bin/mtexec $(PRE
3650: 46 49 58 29 2f 62 69 6e 2f 73 65 72 69 61 6c 69  FIX)/bin/seriali
3660: 7a 65 2d 65 6e 76 20 5c 0a 23 20 24 28 50 52 45  ze-env \.# $(PRE
3670: 46 49 58 29 2f 62 69 6e 2f 6e 65 77 64 61 73 68  FIX)/bin/newdash
3680: 62 6f 61 72 64 0a 0a 24 28 50 52 45 46 49 58 29  board..$(PREFIX)
3690: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
36a0: 20 3a 20 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28   : ..mkdir -p $(
36b0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
36c0: 52 43 48 53 54 52 29 0a 09 6d 6b 64 69 72 20 2d  RCHSTR)..mkdir -
36d0: 70 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  p $(PREFIX)/bin/
36e0: 2e 24 28 41 52 43 48 53 54 52 29 2f 6c 69 62 0a  .$(ARCHSTR)/lib.
36f0: 0a 74 65 73 74 3a 20 74 65 73 74 73 2f 74 65 73  .test: tests/tes
3700: 74 73 2e 73 63 6d 0a 09 63 64 20 74 65 73 74 73  ts.scm..cd tests
3710: 3b 63 73 69 20 2d 49 20 2e 2e 20 2d 62 20 2d 6e  ;csi -I .. -b -n
3720: 20 74 65 73 74 73 2e 73 63 6d 0a 0a 65 78 74 2d   tests.scm..ext-
3730: 74 65 73 74 73 2f 2e 66 73 6c 63 6b 6f 75 74 20  tests/.fslckout 
3740: 3a 20 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29  : $(MTQA_FOSSIL)
3750: 0a 09 6d 6b 64 69 72 20 2d 70 20 65 78 74 2d 74  ..mkdir -p ext-t
3760: 65 73 74 73 0a 09 63 64 20 65 78 74 2d 74 65 73  ests..cd ext-tes
3770: 74 73 3b 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2d  ts;fossil open -
3780: 2d 6e 65 73 74 65 64 20 24 28 4d 54 51 41 5f 46  -nested $(MTQA_F
3790: 4f 53 53 49 4c 29 0a 0a 24 28 4d 54 51 41 5f 46  OSSIL)..$(MTQA_F
37a0: 4f 53 53 49 4c 29 20 3a 0a 09 66 6f 73 73 69 6c  OSSIL) :..fossil
37b0: 20 63 6c 6f 6e 65 20 68 74 74 70 73 3a 2f 2f 77   clone https://w
37c0: 77 77 2e 6b 69 61 74 6f 61 2e 63 6f 6d 2f 66 6f  ww.kiatoa.com/fo
37d0: 73 73 69 6c 73 2f 6d 65 67 61 74 65 73 74 5f 71  ssils/megatest_q
37e0: 61 20 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29  a $(MTQA_FOSSIL)
37f0: 0a 0a 63 6c 65 61 6e 20 3a 20 0a 09 72 6d 20 2d  ..clean : ..rm -
3800: 66 20 24 28 4f 46 49 4c 45 53 29 20 24 28 47 4f  f $(OFILES) $(GO
3810: 46 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53  FILES) $(MOFILES
3820: 29 20 24 28 54 43 4d 54 4f 42 4a 53 29 09 09 5c  ) $(TCMTOBJS)..\
3830: 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 28 50  .            $(P
3840: 52 45 46 49 58 29 2f 6d 65 67 61 74 65 73 74 20  REFIX)/megatest 
3850: 24 28 50 52 45 46 49 58 29 2f 64 61 73 68 62 6f  $(PREFIX)/dashbo
3860: 61 72 64 20 6d 74 65 73 74 20 6d 74 75 74 69 6c  ard mtest mtutil
3870: 20 6d 74 75 74 09 5c 0a 20 20 20 20 20 20 20 20   mtut.\.        
3880: 20 20 20 20 74 63 6d 74 20 72 65 61 64 6c 69 6e      tcmt readlin
3890: 65 2d 66 69 78 2e 73 63 6d 20 73 65 72 69 61 6c  e-fix.scm serial
38a0: 69 7a 65 2d 65 6e 76 20 64 62 6f 61 72 64 20 2a  ize-env dboard *
38b0: 2e 6f 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20  .o..\.          
38c0: 20 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69    megatest-fossi
38d0: 6c 2d 68 61 73 68 2e 2a 20 61 6c 74 64 62 2e 73  l-hash.* altdb.s
38e0: 63 6d 20 6d 6f 66 69 6c 65 73 2f 2a 2e 6f 20 20  cm mofiles/*.o  
38f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 0a                \.
3900: 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 66 69              mofi
3910: 6c 65 73 2f 2a 2e 6f 20 76 67 2e 6f 20 63 6f 6f  les/*.o vg.o coo
3920: 6b 69 65 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d  kie.o dashboard-
3930: 6d 61 69 6e 2e 6f 09 20 20 20 20 20 20 20 20 20  main.o.         
3940: 20 20 20 20 20 20 20 5c 0a 20 20 20 20 20 20 20         \.       
3950: 20 20 20 20 20 64 75 63 74 74 61 70 65 2d 6c 69       ducttape-li
3960: 62 2e 6f 20 66 74 61 69 6c 2e 6f 20 6d 75 74 69  b.o ftail.o muti
3970: 6c 73 2e 6f 20 70 6b 74 73 2e 6f 20 72 6d 74 6d  ls.o pkts.o rmtm
3980: 6f 64 2e 6f 20 73 74 6d 6c 32 2e 6f 09 5c 0a 20  od.o stml2.o.\. 
3990: 20 20 20 20 20 20 20 20 20 20 20 74 63 6d 74 2e             tcmt.
39a0: 6f 20 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d 20 2a  o *.import.scm *
39b0: 2e 69 6d 70 6f 72 74 2e 6f 0a 09 72 6d 20 2d 66  .import.o..rm -f
39c0: 20 24 28 4f 46 49 4c 45 53 29 20 24 28 47 4f 46   $(OFILES) $(GOF
39d0: 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29  ILES) $(MOFILES)
39e0: 20 24 28 54 43 4d 54 4f 42 4a 53 29 09 09 5c 0a   $(TCMTOBJS)..\.
39f0: 20 20 20 20 20 20 20 20 20 20 20 20 24 28 50 52              $(PR
3a00: 45 46 49 58 29 2f 6d 65 67 61 74 65 73 74 20 24  EFIX)/megatest $
3a10: 28 50 52 45 46 49 58 29 2f 64 61 73 68 62 6f 61  (PREFIX)/dashboa
3a20: 72 64 20 6d 74 65 73 74 20 6d 74 75 74 69 6c 20  rd mtest mtutil 
3a30: 6d 74 75 74 09 5c 0a 20 20 20 20 20 20 20 20 20  mtut.\.         
3a40: 20 20 20 74 63 6d 74 20 66 74 61 69 6c 2e 69 6d     tcmt ftail.im
3a50: 70 6f 72 74 2e 73 63 6d 20 72 65 61 64 6c 69 6e  port.scm readlin
3a60: 65 2d 66 69 78 2e 73 63 6d 20 73 65 72 69 61 6c  e-fix.scm serial
3a70: 69 7a 65 2d 65 6e 76 09 5c 0a 20 20 20 20 20 20  ize-env.\.      
3a80: 20 20 20 20 20 20 64 62 6f 61 72 64 20 64 62 6f        dboard dbo
3a90: 61 72 64 2e 6f 20 6d 65 67 61 74 65 73 74 2e 6f  ard.o megatest.o
3aa0: 20 64 61 73 68 62 6f 61 72 64 2e 6f 09 09 09 5c   dashboard.o...\
3ab0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 67  .            meg
3ac0: 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73  atest-fossil-has
3ad0: 68 2e 2a 20 61 6c 74 64 62 2e 73 63 6d 20 6d 6f  h.* altdb.scm mo
3ae0: 66 69 6c 65 73 2f 2a 2e 6f 20 76 67 2e 6f 0a 09  files/*.o vg.o..
3af0: 72 6d 20 2d 72 66 20 73 68 61 72 65 0a 0a 23 3d  rm -rf share..#=
3b00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b40: 3d 3d 3d 3d 3d 0a 23 20 4d 61 6b 65 20 74 68 65  =====.# Make the
3b50: 20 72 65 63 6f 72 64 73 20 66 69 6c 65 73 0a 23   records files.#
3b60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b70: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3b90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3ba0: 3d 3d 3d 3d 3d 3d 0a 0a 23 20 76 67 5f 72 65 63  ======..# vg_rec
3bb0: 6f 72 64 73 2e 73 63 6d 20 3a 20 72 65 63 6f 72  ords.scm : recor
3bc0: 64 73 2e 73 68 0a 23 09 2e 2f 72 65 63 6f 72 64  ds.sh.#../record
3bd0: 73 2e 73 68 0a 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d  s.sh..#=========
3be0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3bf0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3c00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3c10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 23 20  =============.# 
3c20: 44 65 70 6c 6f 79 20 73 65 63 74 69 6f 6e 20 28  Deploy section (
3c30: 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 20 79 65 74  not complete yet
3c40: 29 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ).#=============
3c50: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3c60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3c70: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3c80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 24 28 44 45 50  =========..$(DEP
3c90: 4c 4f 59 48 45 4c 50 45 52 53 29 20 3a 20 75 74  LOYHELPERS) : ut
3ca0: 69 6c 73 2f 6d 74 5f 2a 0a 09 24 28 49 4e 53 54  ils/mt_*..$(INST
3cb0: 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f  ALL) $< $@..chmo
3cc0: 64 20 61 2b 58 20 24 40 0a 0a 64 65 70 6c 6f 79  d a+X $@..deploy
3cd0: 74 61 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 20  targ/apropos.so 
3ce0: 3a 20 4d 61 6b 65 66 69 6c 65 0a 09 63 68 69 63  : Makefile..chic
3cf0: 6b 65 6e 2d 69 6e 73 74 61 6c 6c 20 2d 70 20 64  ken-install -p d
3d00: 65 70 6c 6f 79 74 61 72 67 20 2d 64 65 70 6c 6f  eploytarg -deplo
3d10: 79 20 2d 6b 65 65 70 2d 69 6e 73 74 61 6c 6c 65  y -keep-installe
3d20: 64 20 24 28 45 47 47 53 29 0a 0a 64 65 70 6c 6f  d $(EGGS)..deplo
3d30: 79 20 3a 20 64 65 70 6c 6f 79 74 61 72 67 2f 6d  y : deploytarg/m
3d40: 74 65 73 74 20 64 65 70 6c 6f 79 74 61 72 67 2f  test deploytarg/
3d50: 64 62 6f 61 72 64 20 24 28 44 45 50 4c 4f 59 48  dboard $(DEPLOYH
3d60: 45 4c 50 45 52 53 29 20 64 65 70 6c 6f 79 74 61  ELPERS) deployta
3d70: 72 67 2f 6e 62 66 61 6b 65 20 64 65 70 6c 6f 79  rg/nbfake deploy
3d80: 74 61 72 67 2f 72 65 6d 72 75 6e 20 64 65 70 6c  targ/remrun depl
3d90: 6f 79 74 61 72 67 2f 76 69 65 77 73 63 65 65 6e  oytarg/viewsceen
3da0: 20 64 65 70 6c 6f 79 74 61 72 67 2f 6e 62 66 69   deploytarg/nbfi
3db0: 6e 64 20 64 65 70 6c 6f 79 74 61 72 67 2f 61 70  nd deploytarg/ap
3dc0: 72 6f 70 6f 73 2e 73 6f 0a 0a 23 20 70 75 74 73  ropos.so..# puts
3dd0: 20 64 65 70 6c 6f 79 65 64 20 6d 65 67 61 74 65   deployed megate
3de0: 73 74 20 69 6e 20 64 69 72 65 63 74 6f 72 79 20  st in directory 
3df0: 22 6d 65 67 61 74 65 73 74 22 0a 64 65 70 6c 6f  "megatest".deplo
3e00: 79 74 61 72 67 2f 6d 74 65 73 74 20 3a 20 24 28  ytarg/mtest : $(
3e10: 4f 46 49 4c 45 53 29 20 6d 65 67 61 74 65 73 74  OFILES) megatest
3e20: 2e 6f 20 64 65 70 6c 6f 79 74 61 72 67 2f 61 70  .o deploytarg/ap
3e30: 72 6f 70 6f 73 2e 73 6f 0a 09 63 73 63 20 2d 64  ropos.so..csc -d
3e40: 65 70 6c 6f 79 20 24 28 43 53 43 4f 50 54 53 29  eploy $(CSCOPTS)
3e50: 20 24 28 4f 46 49 4c 45 53 29 20 6d 65 67 61 74   $(OFILES) megat
3e60: 65 73 74 2e 73 63 6d 20 2d 6f 20 64 65 70 6c 6f  est.scm -o deplo
3e70: 79 74 61 72 67 0a 09 6d 76 20 64 65 70 6c 6f 79  ytarg..mv deploy
3e80: 74 61 72 67 2f 64 65 70 6c 6f 79 74 61 72 67 20  targ/deploytarg 
3e90: 64 65 70 6c 6f 79 74 61 72 67 2f 6d 74 65 73 74  deploytarg/mtest
3ea0: 0a 0a 64 65 70 6c 6f 79 74 61 72 67 2f 64 62 6f  ..deploytarg/dbo
3eb0: 61 72 64 20 3a 20 20 24 28 4f 46 49 4c 45 53 29  ard :  $(OFILES)
3ec0: 20 24 28 47 4f 46 49 4c 45 53 29 20 64 61 73 68   $(GOFILES) dash
3ed0: 62 6f 61 72 64 2e 73 63 6d 20 64 65 70 6c 6f 79  board.scm deploy
3ee0: 74 61 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 0a  targ/apropos.so.
3ef0: 09 63 73 63 20 2d 64 65 70 6c 6f 79 20 24 28 4f  .csc -deploy $(O
3f00: 46 49 4c 45 53 29 20 24 28 47 4f 46 49 4c 45 53  FILES) $(GOFILES
3f10: 29 20 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20  ) dashboard.scm 
3f20: 2d 6f 20 64 65 70 6c 6f 79 74 61 72 67 0a 09 6d  -o deploytarg..m
3f30: 76 20 64 65 70 6c 6f 79 74 61 72 67 2f 64 65 70  v deploytarg/dep
3f40: 6c 6f 79 74 61 72 67 20 64 65 70 6c 6f 79 74 61  loytarg deployta
3f50: 72 67 2f 64 62 6f 61 72 64 0a 0a 64 61 74 61 73  rg/dboard..datas
3f60: 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 20  hare-testing/sd 
3f70: 3a 20 64 61 74 61 73 68 61 72 65 2e 73 63 6d 20  : datashare.scm 
3f80: 24 28 4f 46 49 4c 45 53 29 0a 09 63 73 63 20 24  $(OFILES)..csc $
3f90: 28 43 53 43 4f 50 54 53 29 20 64 61 74 61 73 68  (CSCOPTS) datash
3fa0: 61 72 65 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53  are.scm $(OFILES
3fb0: 29 20 2d 6f 20 64 61 74 61 73 68 61 72 65 2d 74  ) -o datashare-t
3fc0: 65 73 74 69 6e 67 2f 73 64 0a 0a 64 61 74 61 73  esting/sd..datas
3fd0: 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 61  hare-testing/sda
3fe0: 74 3a 20 73 68 61 72 65 64 61 74 2e 73 63 6d 20  t: sharedat.scm 
3ff0: 24 28 4f 46 49 4c 45 53 29 0a 09 63 73 63 20 24  $(OFILES)..csc $
4000: 28 43 53 43 4f 50 54 53 29 20 73 68 61 72 65 64  (CSCOPTS) shared
4010: 61 74 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29  at.scm $(OFILES)
4020: 20 2d 6f 20 64 61 74 61 73 68 61 72 65 2d 74 65   -o datashare-te
4030: 73 74 69 6e 67 2f 73 64 61 74 0a 0a 73 64 20 3a  sting/sdat..sd :
4040: 20 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69   datashare-testi
4050: 6e 67 2f 73 64 0a 09 6d 6b 64 69 72 20 2d 70 20  ng/sd..mkdir -p 
4060: 2f 74 6d 70 2f 24 28 55 53 45 52 29 2f 64 61 74  /tmp/$(USER)/dat
4070: 61 73 68 61 72 65 2f 64 69 73 6b 31 20 2f 74 6d  ashare/disk1 /tm
4080: 70 2f 24 28 55 53 45 52 29 2f 62 61 73 65 70 61  p/$(USER)/basepa
4090: 74 68 0a 0a 78 74 65 72 6d 20 3a 20 73 64 0a 09  th..xterm : sd..
40a0: 28 65 78 70 6f 72 74 20 42 41 53 45 50 41 54 48  (export BASEPATH
40b0: 3d 2f 74 6d 70 2f 24 28 55 53 45 52 29 2f 62 61  =/tmp/$(USER)/ba
40c0: 73 65 70 61 74 68 20 3b 20 65 78 70 6f 72 74 20  sepath ; export 
40d0: 50 41 54 48 3d 22 24 28 50 57 44 29 2f 64 61 74  PATH="$(PWD)/dat
40e0: 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 3a 24  ashare-testing:$
40f0: 28 50 41 54 48 29 22 20 3b 20 78 74 65 72 6d 20  (PATH)" ; xterm 
4100: 26 29 0a 0a 64 61 74 61 73 68 61 72 65 2d 74 65  &)..datashare-te
4110: 73 74 69 6e 67 2f 73 70 75 62 6c 69 73 68 20 3a  sting/spublish :
4120: 20 73 70 75 62 6c 69 73 68 2e 73 63 6d 20 24 28   spublish.scm $(
4130: 4f 46 49 4c 45 53 29 20 6d 65 67 61 74 65 73 74  OFILES) megatest
4140: 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a 09 63 73  -version.scm..cs
4150: 63 20 24 28 43 53 43 4f 50 54 53 29 20 73 70 75  c $(CSCOPTS) spu
4160: 62 6c 69 73 68 2e 73 63 6d 20 6d 61 72 67 73 2e  blish.scm margs.
4170: 6f 20 70 72 6f 63 65 73 73 2e 6f 20 63 6f 6d 6d  o process.o comm
4180: 6f 6e 2e 6f 20 20 2d 6f 20 64 61 74 61 73 68 61  on.o  -o datasha
4190: 72 65 2d 74 65 73 74 69 6e 67 2f 73 70 75 62 6c  re-testing/spubl
41a0: 69 73 68 0a 0a 64 61 74 61 73 68 61 72 65 2d 74  ish..datashare-t
41b0: 65 73 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65  esting/sretrieve
41c0: 20 3a 20 73 72 65 74 72 69 65 76 65 2e 73 63 6d   : sretrieve.scm
41d0: 20 24 28 4f 46 49 4c 45 53 29 20 6d 65 67 61 74   $(OFILES) megat
41e0: 65 73 74 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a  est-version.scm.
41f0: 09 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20  .csc $(CSCOPTS) 
4200: 73 72 65 74 72 69 65 76 65 2e 73 63 6d 20 6d 61  sretrieve.scm ma
4210: 72 67 73 2e 6f 20 70 72 6f 63 65 73 73 2e 6f 20  rgs.o process.o 
4220: 63 6f 6d 6d 6f 6e 2e 6f 20 20 2d 6f 20 64 61 74  common.o  -o dat
4230: 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73  ashare-testing/s
4240: 72 65 74 72 69 65 76 65 0a 0a 0a 64 61 74 61 73  retrieve...datas
4250: 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73 61 75  hare-testing/sau
4260: 74 68 6f 72 69 7a 65 20 3a 20 73 61 75 74 68 6f  thorize : sautho
4270: 72 69 7a 65 2e 73 63 6d 20 24 28 4f 46 49 4c 45  rize.scm $(OFILE
4280: 53 29 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73  S) megatest-vers
4290: 69 6f 6e 2e 73 63 6d 0a 09 20 63 73 63 20 24 28  ion.scm.. csc $(
42a0: 43 53 43 4f 50 54 53 29 20 73 61 75 74 68 6f 72  CSCOPTS) sauthor
42b0: 69 7a 65 2e 73 63 6d 20 6d 61 72 67 73 2e 6f 20  ize.scm margs.o 
42c0: 70 72 6f 63 65 73 73 2e 6f 20 63 6f 6d 6d 6f 6e  process.o common
42d0: 2e 6f 20 20 2d 6f 20 64 61 74 61 73 68 61 72 65  .o  -o datashare
42e0: 2d 74 65 73 74 69 6e 67 2f 73 61 75 74 68 6f 72  -testing/sauthor
42f0: 69 7a 65 0a 0a 73 61 75 74 68 2d 69 6e 69 74 3a  ize..sauth-init:
4300: 0a 09 6d 6b 64 69 72 20 2d 70 20 20 64 61 74 61  ..mkdir -p  data
4310: 73 68 61 72 65 2d 74 65 73 74 69 6e 67 0a 09 72  share-testing..r
4320: 6d 20 20 64 61 74 61 73 68 61 72 65 2d 74 65 73  m  datashare-tes
4330: 74 69 6e 67 2f 73 61 75 74 68 6f 72 69 7a 65 0a  ting/sauthorize.
4340: 09 72 6d 20 20 64 61 74 61 73 68 61 72 65 2d 74  .rm  datashare-t
4350: 65 73 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65  esting/sretrieve
4360: 20 0a 09 72 6d 20 20 64 61 74 61 73 68 61 72 65   ..rm  datashare
4370: 2d 74 65 73 74 69 6e 67 2f 73 70 75 62 6c 69 73  -testing/spublis
4380: 68 0a 0a 73 61 75 74 68 20 3a 20 73 61 75 74 68  h..sauth : sauth
4390: 2d 69 6e 69 74 20 64 61 74 61 73 68 61 72 65 2d  -init datashare-
43a0: 74 65 73 74 69 6e 67 2f 73 61 75 74 68 6f 72 69  testing/sauthori
43b0: 7a 65 20 64 61 74 61 73 68 61 72 65 2d 74 65 73  ze datashare-tes
43c0: 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65 20 64  ting/sretrieve d
43d0: 61 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67  atashare-testing
43e0: 2f 73 70 75 62 6c 69 73 68 20 0a 0a 72 65 61 64  /spublish ..read
43f0: 6c 69 6e 65 2d 66 69 78 2e 73 63 6d 20 3a 0a 09  line-fix.scm :..
4400: 69 66 20 5b 5b 20 24 28 73 68 65 6c 6c 20 63 68  if [[ $(shell ch
4410: 69 63 6b 65 6e 2d 73 74 61 74 75 73 20 7c 20 67  icken-status | g
4420: 72 65 70 20 72 65 61 64 6c 69 6e 65 20 7c 20 61  rep readline | a
4430: 77 6b 20 27 7b 70 72 69 6e 74 20 24 34 7d 27 20  wk '{print $4}' 
4440: 7c 20 63 75 74 20 2d 64 2e 20 2d 66 31 29 20 2d  | cut -d. -f1) -
4450: 67 74 20 33 20 5d 5d 3b 74 68 65 6e 20 5c 0a 09  gt 3 ]];then \..
4460: 20 20 20 65 63 68 6f 20 22 28 64 65 66 69 6e 65     echo "(define
4470: 20 2a 75 73 65 2d 6e 65 77 2d 72 65 61 64 6c 69   *use-new-readli
4480: 6e 65 2a 20 23 66 29 22 20 3e 20 72 65 61 64 6c  ne* #f)" > readl
4490: 69 6e 65 2d 66 69 78 2e 73 63 6d 3b 20 5c 0a 09  ine-fix.scm; \..
44a0: 65 6c 73 65 20 5c 0a 09 20 20 20 65 63 68 6f 20  else \..   echo 
44b0: 22 28 64 65 66 69 6e 65 20 2a 75 73 65 2d 6e 65  "(define *use-ne
44c0: 77 2d 72 65 61 64 6c 69 6e 65 2a 20 23 74 29 22  w-readline* #t)"
44d0: 20 3e 20 72 65 61 64 6c 69 6e 65 2d 66 69 78 2e   > readline-fix.
44e0: 73 63 6d 3b 5c 0a 09 66 69 0a 0a 61 6c 74 64 62  scm;\..fi..altdb
44f0: 2e 73 63 6d 20 3a 0a 09 65 63 68 6f 20 22 3b 3b  .scm :..echo ";;
4500: 20 6f 70 74 69 6f 6e 61 6c 20 61 6c 74 65 72 6e   optional altern
4510: 61 74 65 20 64 62 20 73 65 74 75 70 22 20 3e 20  ate db setup" > 
4520: 61 6c 74 64 62 2e 73 63 6d 0a 09 65 63 68 6f 20  altdb.scm..echo 
4530: 22 28 64 65 66 69 6e 65 20 2a 61 76 61 69 6c 61  "(define *availa
4540: 62 6c 65 2d 64 62 2a 20 28 6d 61 6b 65 2d 68 61  ble-db* (make-ha
4550: 73 68 2d 74 61 62 6c 65 29 29 22 20 3e 3e 20 61  sh-table))" >> a
4560: 6c 74 64 62 2e 73 63 6d 0a 09 69 66 20 20 63 73  ltdb.scm..if  cs
4570: 69 20 2d 6e 65 20 27 28 75 73 65 20 6d 79 73 71  i -ne '(use mysq
4580: 6c 2d 63 6c 69 65 6e 74 29 27 20 26 3e 20 2f 64  l-client)' &> /d
4590: 65 76 2f 6e 75 6c 6c 3b 74 68 65 6e 20 5c 0a 20  ev/null;then \. 
45a0: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22            echo "
45b0: 28 75 73 65 20 6d 79 73 71 6c 2d 63 6c 69 65 6e  (use mysql-clien
45c0: 74 29 28 68 61 73 68 2d 74 61 62 6c 65 2d 73 65  t)(hash-table-se
45d0: 74 21 20 2a 61 76 61 69 6c 61 62 6c 65 2d 64 62  t! *available-db
45e0: 2a 20 27 6d 79 73 71 6c 20 23 74 29 22 20 3e 3e  * 'mysql #t)" >>
45f0: 20 61 6c 74 64 62 2e 73 63 6d 3b 20 5c 0a 09 66   altdb.scm; \..f
4600: 69 0a 09 69 66 20 63 73 69 20 2d 6e 65 20 27 28  i..if csi -ne '(
4610: 75 73 65 20 70 6f 73 74 67 72 65 73 71 6c 29 27  use postgresql)'
4620: 26 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 74 68 65  &> /dev/null;the
4630: 6e 20 5c 0a 09 20 20 20 65 63 68 6f 20 22 28 75  n \..   echo "(u
4640: 73 65 20 70 6f 73 74 67 72 65 73 71 6c 29 28 68  se postgresql)(h
4650: 61 73 68 2d 74 61 62 6c 65 2d 73 65 74 21 20 2a  ash-table-set! *
4660: 61 76 61 69 6c 61 62 6c 65 2d 64 62 2a 20 27 70  available-db* 'p
4670: 6f 73 74 67 72 65 73 71 6c 20 23 74 29 22 20 3e  ostgresql #t)" >
4680: 3e 20 61 6c 74 64 62 2e 73 63 6d 3b 5c 0a 09 66  > altdb.scm;\..f
4690: 69 0a 09 69 66 20 20 63 73 69 20 2d 6e 65 20 27  i..if  csi -ne '
46a0: 28 69 6d 70 6f 72 74 20 6d 79 73 71 6c 2d 63 6c  (import mysql-cl
46b0: 69 65 6e 74 29 27 26 3e 20 2f 64 65 76 2f 6e 75  ient)'&> /dev/nu
46c0: 6c 6c 3b 74 68 65 6e 20 5c 0a 20 20 20 20 20 20  ll;then \.      
46d0: 20 20 20 20 20 65 63 68 6f 20 22 28 69 6d 70 6f       echo "(impo
46e0: 72 74 20 6d 79 73 71 6c 2d 63 6c 69 65 6e 74 29  rt mysql-client)
46f0: 28 68 61 73 68 2d 74 61 62 6c 65 2d 73 65 74 21  (hash-table-set!
4700: 20 2a 61 76 61 69 6c 61 62 6c 65 2d 64 62 2a 20   *available-db* 
4710: 27 6d 79 73 71 6c 20 23 74 29 22 20 3e 3e 20 61  'mysql #t)" >> a
4720: 6c 74 64 62 2e 73 63 6d 3b 20 5c 0a 09 66 69 0a  ltdb.scm; \..fi.
4730: 09 69 66 20 63 73 69 20 2d 6e 65 20 27 28 69 6d  .if csi -ne '(im
4740: 70 6f 72 74 20 70 6f 73 74 67 72 65 73 71 6c 29  port postgresql)
4750: 27 26 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 74 68  '&> /dev/null;th
4760: 65 6e 20 5c 0a 09 20 20 20 65 63 68 6f 20 22 28  en \..   echo "(
4770: 69 6d 70 6f 72 74 20 70 6f 73 74 67 72 65 73 71  import postgresq
4780: 6c 29 28 68 61 73 68 2d 74 61 62 6c 65 2d 73 65  l)(hash-table-se
4790: 74 21 20 2a 61 76 61 69 6c 61 62 6c 65 2d 64 62  t! *available-db
47a0: 2a 20 27 70 6f 73 74 67 72 65 73 71 6c 20 23 74  * 'postgresql #t
47b0: 29 22 20 3e 3e 20 61 6c 74 64 62 2e 73 63 6d 3b  )" >> altdb.scm;
47c0: 5c 0a 09 66 69 0a 0a 23 20 70 6f 72 74 6c 6f 67  \..fi..# portlog
47d0: 67 65 72 2d 65 78 61 6d 70 6c 65 20 3a 20 70 6f  ger-example : po
47e0: 72 74 6c 6f 67 67 65 72 2d 65 78 61 6d 70 6c 65  rtlogger-example
47f0: 2e 73 63 6d 20 61 70 69 2e 6f 20 61 72 63 68 69  .scm api.o archi
4800: 76 65 2e 6f 20 63 6f 6d 6d 6f 6e 2e 6f 20 63 6f  ve.o common.o co
4810: 6e 66 69 67 66 2e 6f 20 64 61 73 68 62 6f 61 72  nfigf.o dashboar
4820: 64 2d 74 65 73 74 73 2e 6f 20 64 61 73 68 62 6f  d-tests.o dashbo
4830: 61 72 64 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75  ard-context-menu
4840: 2e 6f 20 64 62 2e 6f 20 64 63 6f 6d 6d 6f 6e 2e  .o db.o dcommon.
4850: 6f 20 65 7a 73 74 65 70 73 2e 6f 20 67 65 6e 65  o ezsteps.o gene
4860: 78 61 6d 70 6c 65 2e 6f 20 67 75 74 69 6c 73 2e  xample.o gutils.
4870: 6f 20 69 74 65 6d 73 2e 6f 20 6b 65 79 73 2e 6f  o items.o keys.o
4880: 20 6c 61 75 6e 63 68 2e 6f 20 6c 6f 63 6b 2d 71   launch.o lock-q
4890: 75 65 75 65 2e 6f 20 6d 61 72 67 73 2e 6f 20 6d  ueue.o margs.o m
48a0: 74 2e 6f 20 6f 64 73 2e 6f 20 70 6f 72 74 6c 6f  t.o ods.o portlo
48b0: 67 67 65 72 2e 6f 20 70 72 6f 63 65 73 73 2e 6f  gger.o process.o
48c0: 20 72 6d 74 2e 6f 20 72 75 6e 63 6f 6e 66 69 67   rmt.o runconfig
48d0: 2e 6f 20 72 75 6e 73 2e 6f 20 73 65 72 76 65 72  .o runs.o server
48e0: 2e 6f 20 73 79 6e 63 68 61 73 68 2e 6f 20 74 61  .o synchash.o ta
48f0: 73 6b 73 2e 6f 20 74 64 62 2e 6f 20 74 65 73 74  sks.o tdb.o test
4900: 73 2e 6f 20 74 72 65 65 2e 6f 0a 23 09 63 73 63  s.o tree.o.#.csc
4910: 20 24 28 43 53 43 4f 50 54 53 29 20 70 6f 72 74   $(CSCOPTS) port
4920: 6c 6f 67 67 65 72 2d 65 78 61 6d 70 6c 65 2e 73  logger-example.s
4930: 63 6d 20 61 70 69 2e 6f 20 61 72 63 68 69 76 65  cm api.o archive
4940: 2e 6f 20 63 6f 6d 6d 6f 6e 2e 6f 20 63 6f 6e 66  .o common.o conf
4950: 69 67 66 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d  igf.o dashboard-
4960: 74 65 73 74 73 2e 6f 20 64 61 73 68 62 6f 61 72  tests.o dashboar
4970: 64 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e 6f  d-context-menu.o
4980: 20 64 62 2e 6f 20 64 63 6f 6d 6d 6f 6e 2e 6f 20   db.o dcommon.o 
4990: 65 7a 73 74 65 70 73 2e 6f 20 67 65 6e 65 78 61  ezsteps.o genexa
49a0: 6d 70 6c 65 2e 6f 20 67 75 74 69 6c 73 2e 6f 20  mple.o gutils.o 
49b0: 69 74 65 6d 73 2e 6f 20 6b 65 79 73 2e 6f 20 6c  items.o keys.o l
49c0: 61 75 6e 63 68 2e 6f 20 6c 6f 63 6b 2d 71 75 65  aunch.o lock-que
49d0: 75 65 2e 6f 20 6d 61 72 67 73 2e 6f 20 6d 74 2e  ue.o margs.o mt.
49e0: 6f 20 6f 64 73 2e 6f 20 70 6f 72 74 6c 6f 67 67  o ods.o portlogg
49f0: 65 72 2e 6f 20 70 72 6f 63 65 73 73 2e 6f 20 72  er.o process.o r
4a00: 6d 74 2e 6f 20 72 75 6e 63 6f 6e 66 69 67 2e 6f  mt.o runconfig.o
4a10: 20 72 75 6e 73 2e 6f 20 73 65 72 76 65 72 2e 6f   runs.o server.o
4a20: 20 73 79 6e 63 2d 68 61 73 68 2e 6f 20 74 61 73   sync-hash.o tas
4a30: 6b 73 2e 6f 20 74 64 62 2e 6f 20 74 65 73 74 73  ks.o tdb.o tests
4a40: 2e 6f 20 74 72 65 65 2e 6f 0a 0a 75 6e 69 74 64  .o tree.o..unitd
4a50: 65 70 73 2e 64 6f 74 20 3a 20 2a 73 63 6d 20 2e  eps.dot : *scm .
4a60: 2f 75 74 69 6c 73 2f 70 6c 6f 74 2d 75 73 65 73  /utils/plot-uses
4a70: 20 4d 61 6b 65 66 69 6c 65 0a 09 2e 2f 75 74 69   Makefile.../uti
4a80: 6c 73 2f 70 6c 6f 74 2d 75 73 65 73 20 74 6f 64  ls/plot-uses tod
4a90: 6f 74 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 69 6d 70  ot commonmod.imp
4aa0: 6f 72 74 2c 6d 74 61 72 67 73 2e 69 6d 70 6f 72  ort,mtargs.impor
4ab0: 74 2c 6d 74 61 72 67 73 2c 64 65 62 75 67 70 72  t,mtargs,debugpr
4ac0: 69 6e 74 20 2a 2e 73 63 6d 20 3e 20 75 6e 69 74  int *.scm > unit
4ad0: 64 65 70 73 2e 64 6f 74 0a 0a 75 6e 69 74 64 65  deps.dot..unitde
4ae0: 70 73 2e 70 64 66 20 3a 20 75 6e 69 74 64 65 70  ps.pdf : unitdep
4af0: 73 2e 64 6f 74 0a 09 64 6f 74 20 75 6e 69 74 64  s.dot..dot unitd
4b00: 65 70 73 2e 64 6f 74 20 2d 54 70 64 66 20 2d 6f  eps.dot -Tpdf -o
4b10: 20 75 6e 69 74 64 65 70 73 2e 70 64 66 0a 0a 2e   unitdeps.pdf...
4b20: 2f 75 74 69 6c 73 2f 70 6c 6f 74 2d 75 73 65 73  /utils/plot-uses
4b30: 20 3a 20 75 74 69 6c 73 2f 70 6c 6f 74 2d 75 73   : utils/plot-us
4b40: 65 73 2e 73 63 6d 0a 09 63 73 63 20 75 74 69 6c  es.scm..csc util
4b50: 73 2f 70 6c 6f 74 2d 75 73 65 73 2e 73 63 6d 0a  s/plot-uses.scm.
4b60: 0a 23 20 63 72 65 61 74 65 20 61 20 70 64 66 20  .# create a pdf 
4b70: 64 6f 74 20 67 72 61 70 68 76 69 7a 20 64 69 61  dot graphviz dia
4b80: 67 72 61 6d 20 66 72 6f 6d 20 6e 6f 74 61 74 69  gram from notati
4b90: 6f 6e 73 20 69 6e 20 72 6d 74 2e 73 63 6d 0a 72  ons in rmt.scm.r
4ba0: 6d 74 2e 70 64 66 20 3a 20 72 6d 74 2e 73 63 6d  mt.pdf : rmt.scm
4bb0: 0a 09 67 72 65 70 20 27 3b 3b 44 4f 54 27 20 72  ..grep ';;DOT' r
4bc0: 6d 74 2e 73 63 6d 20 7c 20 73 65 64 20 2d 65 20  mt.scm | sed -e 
4bd0: 27 73 2f 2e 2a 3b 3b 44 4f 54 20 2f 2f 27 20 3e  's/.*;;DOT //' >
4be0: 20 72 6d 74 2e 64 6f 74 3b 64 6f 74 20 2d 54 70   rmt.dot;dot -Tp
4bf0: 64 66 20 72 6d 74 2e 64 6f 74 20 2d 6f 20 72 6d  df rmt.dot -o rm
4c00: 74 2e 70 64 66 0a 0a 62 75 69 6c 64 6d 61 6e 75  t.pdf..buildmanu
4c10: 61 6c 3a 0a 09 63 64 20 64 6f 63 73 2f 6d 61 6e  al:..cd docs/man
4c20: 75 61 6c 20 26 26 20 6d 61 6b 65 0a 0a 74 61 72  ual && make..tar
4c30: 67 65 74 73 3a 0a 09 40 67 72 65 70 20 3a 20 4d  gets:..@grep : M
4c40: 61 6b 65 66 69 6c 65 20 7c 20 70 65 72 6c 20 2d  akefile | perl -
4c50: 6e 65 20 27 2f 5e 28 5b 41 2d 5a 61 2d 7a 30 2d  ne '/^([A-Za-z0-
4c60: 39 5f 2d 5d 2b 29 3a 2f 20 26 26 20 70 72 69 6e  9_-]+):/ && prin
4c70: 74 20 22 24 24 31 5c 6e 22 27 0a 0a 75 6e 69 74  t "$$1\n"'..unit
4c80: 20 3a 0a 09 63 64 20 74 65 73 74 73 3b 6d 61 6b   :..cd tests;mak
4c90: 65 20 75 6e 69 74 0a                             e unit.