Megatest

Hex Artifact Content
Login

Artifact 1e26becbe01214db327cec05ccf80a2b44cb95ad:


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 53 48 45 4c 4c  ile | less.SHELL
03a0: 3d 2f 62 69 6e 2f 62 61 73 68 0a 50 52 45 46 49  =/bin/bash.PREFI
03b0: 58 3d 24 28 50 57 44 29 0a 43 53 43 4f 50 54 53  X=$(PWD).CSCOPTS
03c0: 3d 0a 49 4e 53 54 41 4c 4c 3d 69 6e 73 74 61 6c  =.INSTALL=instal
03d0: 6c 0a 53 52 43 46 49 4c 45 53 20 3d 20 63 6f 6d  l.SRCFILES = com
03e0: 6d 6f 6e 2e 73 63 6d 20 69 74 65 6d 73 2e 73 63  mon.scm items.sc
03f0: 6d 20 6c 61 75 6e 63 68 2e 73 63 6d 20 6f 64 73  m launch.scm ods
0400: 2e 73 63 6d 20 72 75 6e 63 6f 6e 66 69 67 2e 73  .scm runconfig.s
0410: 63 6d 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20  cm.\.           
0420: 73 65 72 76 65 72 2e 73 63 6d 20 63 6f 6e 66 69  server.scm confi
0430: 67 66 2e 73 63 6d 20 64 62 2e 73 63 6d 20 6b 65  gf.scm db.scm ke
0440: 79 73 2e 73 63 6d 20 6d 61 72 67 73 2e 73 63 6d  ys.scm margs.scm
0450: 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20 6d  ..\.           m
0460: 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f 6e 2e  egatest-version.
0470: 73 63 6d 20 70 72 6f 63 65 73 73 2e 73 63 6d 20  scm process.scm 
0480: 72 75 6e 73 2e 73 63 6d 20 74 61 73 6b 73 2e 73  runs.scm tasks.s
0490: 63 6d 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20  cm..\.          
04a0: 20 74 65 73 74 73 2e 73 63 6d 20 67 65 6e 65 78   tests.scm genex
04b0: 61 6d 70 6c 65 2e 73 63 6d 20 68 74 74 70 2d 74  ample.scm http-t
04c0: 72 61 6e 73 70 6f 72 74 2e 73 63 6d 20 66 69 6c  ransport.scm fil
04d0: 65 64 62 2e 73 63 6d 09 5c 0a 20 20 20 20 20 20  edb.scm.\.      
04e0: 20 20 20 20 20 74 64 62 2e 73 63 6d 20 63 6c 69       tdb.scm cli
04f0: 65 6e 74 2e 73 63 6d 20 6d 74 2e 73 63 6d 20 65  ent.scm mt.scm e
0500: 7a 73 74 65 70 73 2e 73 63 6d 20 6c 6f 63 6b 2d  zsteps.scm lock-
0510: 71 75 65 75 65 2e 73 63 6d 09 09 5c 0a 20 20 20  queue.scm..\.   
0520: 20 20 20 20 20 20 20 20 73 64 62 2e 73 63 6d 20          sdb.scm 
0530: 72 6d 74 2e 73 63 6d 20 61 70 69 2e 73 63 6d 20  rmt.scm api.scm 
0540: 73 75 62 72 75 6e 2e 73 63 6d 20 70 6f 72 74 6c  subrun.scm portl
0550: 6f 67 67 65 72 2e 73 63 6d 09 09 5c 0a 20 20 20  ogger.scm..\.   
0560: 20 20 20 20 20 20 20 20 61 72 63 68 69 76 65 2e          archive.
0570: 73 63 6d 20 65 6e 76 2e 73 63 6d 20 64 69 66 66  scm env.scm diff
0580: 2d 72 65 70 6f 72 74 2e 73 63 6d 09 09 09 09 5c  -report.scm....\
0590: 0a 20 20 20 20 20 20 20 20 20 20 20 63 67 69 73  .           cgis
05a0: 65 74 75 70 2f 6d 6f 64 65 6c 73 2f 70 67 64 62  etup/models/pgdb
05b0: 2e 73 63 6d 0a 0a 23 20 6d 6f 64 75 6c 65 20 73  .scm..# module s
05c0: 6f 75 72 63 65 20 66 69 6c 65 73 0a 23 20 66 74  ource files.# ft
05d0: 61 69 6c 2e 73 63 6d 20 72 6d 74 6d 6f 64 2e 73  ail.scm rmtmod.s
05e0: 63 6d 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 73 63 6d  cm commonmod.scm
05f0: 20 72 65 6d 6f 76 65 64 0a 4d 53 52 43 46 49 4c   removed.MSRCFIL
0600: 45 53 20 3d 20 64 75 63 74 74 61 70 65 2d 6c 69  ES = ducttape-li
0610: 62 2e 73 63 6d 20 70 6b 74 73 2e 73 63 6d 20 73  b.scm pkts.scm s
0620: 74 6d 6c 32 2e 73 63 6d 20 63 6f 6f 6b 69 65 2e  tml2.scm cookie.
0630: 73 63 6d 20 6d 75 74 69 6c 73 2e 73 63 6d 09 5c  scm mutils.scm.\
0640: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 74 61  .            mta
0650: 72 67 73 2e 73 63 6d 20 63 6f 6d 6d 6f 6e 6d 6f  rgs.scm commonmo
0660: 64 2e 73 63 6d 20 64 62 6d 6f 64 2e 73 63 6d 20  d.scm dbmod.scm 
0670: 61 64 6a 75 74 61 6e 74 2e 73 63 6d 20 75 6c 65  adjutant.scm ule
0680: 78 2e 73 63 6d 0a 0a 47 55 49 53 52 43 46 20 3d  x.scm..GUISRCF =
0690: 20 64 61 73 68 62 6f 61 72 64 2d 63 6f 6e 74 65   dashboard-conte
06a0: 78 74 2d 6d 65 6e 75 2e 73 63 6d 20 64 61 73 68  xt-menu.scm dash
06b0: 62 6f 61 72 64 2d 74 65 73 74 73 2e 73 63 6d 09  board-tests.scm.
06c0: 09 5c 0a 20 20 20 20 20 20 20 20 20 20 64 61 73  .\.          das
06d0: 68 62 6f 61 72 64 2d 67 75 69 6d 6f 6e 69 74 6f  hboard-guimonito
06e0: 72 2e 73 63 6d 20 67 75 74 69 6c 73 2e 73 63 6d  r.scm gutils.scm
06f0: 20 64 63 6f 6d 6d 6f 6e 2e 73 63 6d 20 74 72 65   dcommon.scm tre
0700: 65 2e 73 63 6d 09 5c 0a 20 20 20 20 20 20 20 20  e.scm.\.        
0710: 20 20 76 67 2e 73 63 6d 0a 0a 4f 46 49 4c 45 53    vg.scm..OFILES
0720: 20 20 20 3d 20 24 28 53 52 43 46 49 4c 45 53 3a     = $(SRCFILES:
0730: 25 2e 73 63 6d 3d 25 2e 6f 29 0a 47 4f 46 49 4c  %.scm=%.o).GOFIL
0740: 45 53 20 20 3d 20 24 28 47 55 49 53 52 43 46 3a  ES  = $(GUISRCF:
0750: 25 2e 73 63 6d 3d 25 2e 6f 29 0a 0a 4d 4f 46 49  %.scm=%.o)..MOFI
0760: 4c 45 53 20 3d 20 24 28 61 64 64 70 72 65 66 69  LES = $(addprefi
0770: 78 20 6d 6f 66 69 6c 65 73 2f 2c 24 28 4d 53 52  x mofiles/,$(MSR
0780: 43 46 49 4c 45 53 3a 25 2e 73 63 6d 3d 25 2e 6f  CFILES:%.scm=%.o
0790: 29 29 0a 23 20 63 6f 6d 70 69 6c 65 64 20 69 6d  )).# compiled im
07a0: 70 6f 72 74 20 66 69 6c 65 73 0a 4d 4f 49 4d 50  port files.MOIMP
07b0: 46 49 4c 45 53 20 3d 20 24 28 4d 53 52 43 46 49  FILES = $(MSRCFI
07c0: 4c 45 53 3a 25 2e 73 63 6d 3d 25 2e 69 6d 70 6f  LES:%.scm=%.impo
07d0: 72 74 2e 6f 29 0a 0a 25 2e 69 6d 70 6f 72 74 2e  rt.o)..%.import.
07e0: 6f 20 3a 20 25 2e 69 6d 70 6f 72 74 2e 73 63 6d  o : %.import.scm
07f0: 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54 53 29  ..csc $(CSCOPTS)
0800: 20 2d 75 6e 69 74 20 24 2a 2e 69 6d 70 6f 72 74   -unit $*.import
0810: 20 2d 63 20 24 2a 2e 69 6d 70 6f 72 74 2e 73 63   -c $*.import.sc
0820: 6d 20 2d 6f 20 24 2a 2e 69 6d 70 6f 72 74 2e 6f  m -o $*.import.o
0830: 0a 0a 6d 6f 66 69 6c 65 73 2f 25 2e 6f 20 20 25  ..mofiles/%.o  %
0840: 2e 69 6d 70 6f 72 74 2e 73 63 6d 20 3a 20 25 2e  .import.scm : %.
0850: 73 63 6d 0a 09 40 5b 20 2d 65 20 6d 6f 66 69 6c  scm..@[ -e mofil
0860: 65 73 20 5d 20 7c 7c 20 6d 6b 64 69 72 20 2d 70  es ] || mkdir -p
0870: 20 6d 6f 66 69 6c 65 73 0a 09 63 73 63 20 24 28   mofiles..csc $(
0880: 43 53 43 4f 50 54 53 29 20 2d 49 20 24 2a 20 2d  CSCOPTS) -I $* -
0890: 4a 20 2d 63 20 24 3c 20 2d 6f 20 6d 6f 66 69 6c  J -c $< -o mofil
08a0: 65 73 2f 24 2a 2e 6f 0a 09 40 74 6f 75 63 68 20  es/$*.o..@touch 
08b0: 24 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d 20 23 20  $*.import.scm # 
08c0: 65 6e 73 75 72 65 20 69 74 20 69 73 20 74 6f 75  ensure it is tou
08d0: 63 68 65 64 20 61 66 74 65 72 20 74 68 65 20 2e  ched after the .
08e0: 6f 20 69 73 20 6d 61 64 65 0a 0a 41 44 54 4c 53  o is made..ADTLS
08f0: 43 52 3d 6d 74 5f 6c 61 73 74 73 74 65 70 20 6d  CR=mt_laststep m
0900: 74 5f 72 75 6e 73 74 65 70 20 6d 74 5f 65 7a 73  t_runstep mt_ezs
0910: 74 65 70 0a 48 45 4c 50 45 52 53 3d 24 28 61 64  tep.HELPERS=$(ad
0920: 64 70 72 65 66 69 78 20 24 28 50 52 45 46 49 58  dprefix $(PREFIX
0930: 29 2f 62 69 6e 2f 2c 24 28 41 44 54 4c 53 43 52  )/bin/,$(ADTLSCR
0940: 29 29 0a 44 45 50 4c 4f 59 48 45 4c 50 45 52 53  )).DEPLOYHELPERS
0950: 3d 24 28 61 64 64 70 72 65 66 69 78 20 64 65 70  =$(addprefix dep
0960: 6c 6f 79 74 61 72 67 2f 2c 24 28 41 44 54 4c 53  loytarg/,$(ADTLS
0970: 43 52 29 29 0a 4d 54 45 53 54 48 41 53 48 3d 24  CR)).MTESTHASH=$
0980: 28 73 68 65 6c 6c 20 66 6f 73 73 69 6c 20 69 6e  (shell fossil in
0990: 66 6f 7c 67 72 65 70 20 63 68 65 63 6b 6f 75 74  fo|grep checkout
09a0: 3a 7c 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 24  :| awk '{print $
09b0: 24 32 7d 27 29 0a 0a 69 66 65 71 20 28 24 28 4d  $2}')..ifeq ($(M
09c0: 54 45 53 54 48 41 53 48 29 2c 29 0a 24 28 65 72  TESTHASH),).$(er
09d0: 72 6f 72 20 4d 54 45 53 54 48 41 53 48 20 69 73  ror MTESTHASH is
09e0: 20 62 72 6f 6b 65 6e 21 29 0a 65 6e 64 69 66 0a   broken!).endif.
09f0: 0a 41 52 43 48 53 54 52 3d 24 28 73 68 65 6c 6c  .ARCHSTR=$(shell
0a00: 20 69 66 20 5b 5b 20 2d 65 20 2f 75 73 72 2f 62   if [[ -e /usr/b
0a10: 69 6e 2f 73 77 5f 76 65 72 73 20 5d 5d 3b 20 74  in/sw_vers ]]; t
0a20: 68 65 6e 20 2f 75 73 72 2f 62 69 6e 2f 73 77 5f  hen /usr/bin/sw_
0a30: 76 65 72 73 20 2d 70 72 6f 64 75 63 74 56 65 72  vers -productVer
0a40: 73 69 6f 6e 3b 20 65 6c 73 65 20 6c 73 62 5f 72  sion; else lsb_r
0a50: 65 6c 65 61 73 65 20 2d 73 72 3b 20 66 69 29 0a  elease -sr; fi).
0a60: 0a 50 4e 47 46 49 4c 45 53 20 3d 20 24 28 73 68  .PNGFILES = $(sh
0a70: 65 6c 6c 20 63 64 20 64 6f 63 73 2f 6d 61 6e 75  ell cd docs/manu
0a80: 61 6c 3b 6c 73 20 2a 70 6e 67 29 0a 0a 61 6c 6c  al;ls *png)..all
0a90: 20 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e   : $(PREFIX)/bin
0aa0: 2f 2e 24 28 41 52 43 48 53 54 52 29 20 6d 74 65  /.$(ARCHSTR) mte
0ab0: 73 74 20 64 62 6f 61 72 64 20 6d 74 75 74 20 74  st dboard mtut t
0ac0: 63 6d 74 0a 0a 6d 74 65 73 74 3a 20 24 28 4f 46  cmt..mtest: $(OF
0ad0: 49 4c 45 53 29 20 72 65 61 64 6c 69 6e 65 2d 66  ILES) readline-f
0ae0: 69 78 2e 73 63 6d 20 6d 65 67 61 74 65 73 74 2e  ix.scm megatest.
0af0: 6f 20 24 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d  o $(MOFILES) $(M
0b00: 4f 49 4d 50 46 49 4c 45 53 29 0a 09 63 73 63 20  OIMPFILES)..csc 
0b10: 24 28 43 53 43 4f 50 54 53 29 20 24 28 4f 46 49  $(CSCOPTS) $(OFI
0b20: 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20  LES) $(MOFILES) 
0b30: 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29 20 6d 65  $(MOIMPFILES) me
0b40: 67 61 74 65 73 74 2e 6f 20 2d 6f 20 6d 74 65 73  gatest.o -o mtes
0b50: 74 0a 0a 73 68 6f 77 6d 74 65 73 74 68 61 73 68  t..showmtesthash
0b60: 3a 0a 09 40 65 63 68 6f 20 24 28 4d 54 45 53 54  :..@echo $(MTEST
0b70: 48 41 53 48 29 0a 0a 64 62 6f 61 72 64 20 3a 20  HASH)..dboard : 
0b80: 24 28 4f 46 49 4c 45 53 29 20 24 28 47 4f 46 49  $(OFILES) $(GOFI
0b90: 4c 45 53 29 20 64 61 73 68 62 6f 61 72 64 2e 73  LES) dashboard.s
0ba0: 63 6d 20 24 28 4d 4f 46 49 4c 45 53 29 20 24 28  cm $(MOFILES) $(
0bb0: 4d 4f 49 4d 50 46 49 4c 45 53 29 0a 09 63 73 63  MOIMPFILES)..csc
0bc0: 20 24 28 43 53 43 4f 50 54 53 29 20 24 28 4f 46   $(CSCOPTS) $(OF
0bd0: 49 4c 45 53 29 20 64 61 73 68 62 6f 61 72 64 2e  ILES) dashboard.
0be0: 73 63 6d 20 24 28 47 4f 46 49 4c 45 53 29 20 24  scm $(GOFILES) $
0bf0: 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d 4f 49 4d  (MOFILES) $(MOIM
0c00: 50 46 49 4c 45 53 29 20 2d 6f 20 64 62 6f 61 72  PFILES) -o dboar
0c10: 64 0a 0a 6e 64 62 6f 61 72 64 20 3a 20 6e 65 77  d..ndboard : new
0c20: 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 24 28  dashboard.scm $(
0c30: 4f 46 49 4c 45 53 29 20 24 28 47 4f 46 49 4c 45  OFILES) $(GOFILE
0c40: 53 29 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54  S)..csc $(CSCOPT
0c50: 53 29 20 24 28 4f 46 49 4c 45 53 29 20 24 28 47  S) $(OFILES) $(G
0c60: 4f 46 49 4c 45 53 29 20 6e 65 77 64 61 73 68 62  OFILES) newdashb
0c70: 6f 61 72 64 2e 73 63 6d 20 2d 6f 20 6e 64 62 6f  oard.scm -o ndbo
0c80: 61 72 64 0a 0a 6d 74 75 74 3a 20 24 28 4f 46 49  ard..mtut: $(OFI
0c90: 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20  LES) $(MOFILES) 
0ca0: 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d  megatest-fossil-
0cb0: 68 61 73 68 2e 73 63 6d 20 6d 74 75 74 2e 73 63  hash.scm mtut.sc
0cc0: 6d 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54 53  m..csc $(CSCOPTS
0cd0: 29 20 24 28 4f 46 49 4c 45 53 29 20 24 28 4d 4f  ) $(OFILES) $(MO
0ce0: 46 49 4c 45 53 29 20 6d 74 75 74 2e 73 63 6d 20  FILES) mtut.scm 
0cf0: 2d 6f 20 6d 74 75 74 0a 0a 69 6e 63 6c 75 64 65  -o mtut..include
0d00: 20 6d 61 6b 65 66 69 6c 65 2e 69 6e 63 0a 0a 54   makefile.inc..T
0d10: 43 4d 54 4f 42 4a 53 20 3d 20 5c 0a 09 61 70 69  CMTOBJS = \..api
0d20: 2e 6f 20 5c 0a 09 61 72 63 68 69 76 65 2e 6f 20  .o \..archive.o 
0d30: 5c 0a 09 63 67 69 73 65 74 75 70 2f 6d 6f 64 65  \..cgisetup/mode
0d40: 6c 73 2f 70 67 64 62 2e 6f 20 5c 0a 09 63 6c 69  ls/pgdb.o \..cli
0d50: 65 6e 74 2e 6f 20 5c 0a 09 63 6f 6d 6d 6f 6e 2e  ent.o \..common.
0d60: 6f 20 5c 0a 09 63 6f 6e 66 69 67 66 2e 6f 20 5c  o \..configf.o \
0d70: 0a 09 64 62 2e 6f 20 5c 0a 09 65 6e 76 2e 6f 20  ..db.o \..env.o 
0d80: 5c 0a 09 68 74 74 70 2d 74 72 61 6e 73 70 6f 72  \..http-transpor
0d90: 74 2e 6f 20 5c 0a 09 69 74 65 6d 73 2e 6f 20 5c  t.o \..items.o \
0da0: 0a 09 6b 65 79 73 2e 6f 20 5c 0a 09 6c 61 75 6e  ..keys.o \..laun
0db0: 63 68 2e 6f 20 5c 0a 09 6c 6f 63 6b 2d 71 75 65  ch.o \..lock-que
0dc0: 75 65 2e 6f 20 5c 0a 09 6d 61 72 67 73 2e 6f 20  ue.o \..margs.o 
0dd0: 5c 0a 09 6d 74 2e 6f 20 5c 0a 09 6d 65 67 61 74  \..mt.o \..megat
0de0: 65 73 74 2d 76 65 72 73 69 6f 6e 2e 6f 20 5c 0a  est-version.o \.
0df0: 09 6f 64 73 2e 6f 20 5c 0a 09 70 6f 72 74 6c 6f  .ods.o \..portlo
0e00: 67 67 65 72 2e 6f 20 5c 0a 09 70 72 6f 63 65 73  gger.o \..proces
0e10: 73 2e 6f 20 5c 0a 09 72 6d 74 2e 6f 20 5c 0a 20  s.o \..rmt.o \. 
0e20: 20 20 20 20 20 20 20 6d 6f 66 69 6c 65 73 2f 72         mofiles/r
0e30: 6d 74 6d 6f 64 2e 6f 20 5c 0a 20 20 20 20 20 20  mtmod.o \.      
0e40: 20 20 72 70 63 2d 74 72 61 6e 73 70 6f 72 74 2e    rpc-transport.
0e50: 6f 20 5c 0a 09 72 75 6e 63 6f 6e 66 69 67 2e 6f  o \..runconfig.o
0e60: 20 5c 0a 09 72 75 6e 73 2e 6f 20 5c 0a 09 73 65   \..runs.o \..se
0e70: 72 76 65 72 2e 6f 20 5c 0a 09 74 61 73 6b 73 2e  rver.o \..tasks.
0e80: 6f 20 5c 0a 09 74 64 62 2e 6f 20 5c 0a 09 74 65  o \..tdb.o \..te
0e90: 73 74 73 2e 6f 20 5c 0a 09 73 75 62 72 75 6e 2e  sts.o \..subrun.
0ea0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 65 7a 73 74  o \.        ezst
0eb0: 65 70 73 2e 6f 0a 0a 23 20 20 20 20 20 20 20 20  eps.o..#        
0ec0: 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f  mofiles/commonmo
0ed0: 64 2e 6f 20 5c 0a 0a 74 63 6d 74 20 3a 20 24 28  d.o \..tcmt : $(
0ee0: 54 43 4d 54 4f 42 4a 53 29 20 74 63 6d 74 2e 73  TCMTOBJS) tcmt.s
0ef0: 63 6d 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54  cm..csc $(CSCOPT
0f00: 53 29 20 24 28 54 43 4d 54 4f 42 4a 53 29 20 24  S) $(TCMTOBJS) $
0f10: 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d 4f 49 4d  (MOFILES) $(MOIM
0f20: 50 46 49 4c 45 53 29 20 74 63 6d 74 2e 73 63 6d  PFILES) tcmt.scm
0f30: 20 2d 6f 20 74 63 6d 74 0a 0a 23 20 69 6e 73 74   -o tcmt..# inst
0f40: 61 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  all documentatio
0f50: 6e 20 74 6f 20 24 28 50 52 45 46 49 58 29 2f 64  n to $(PREFIX)/d
0f60: 6f 63 73 0a 23 20 44 4f 45 53 20 4e 4f 54 20 52  ocs.# DOES NOT R
0f70: 45 42 55 49 4c 44 20 44 4f 43 53 0a 23 0a 24 28  EBUILD DOCS.#.$(
0f80: 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 64 6f  PREFIX)/share/do
0f90: 63 73 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75  cs/megatest_manu
0fa0: 61 6c 2e 68 74 6d 6c 20 3a 20 64 6f 63 73 2f 6d  al.html : docs/m
0fb0: 61 6e 75 61 6c 2f 6d 65 67 61 74 65 73 74 5f 6d  anual/megatest_m
0fc0: 61 6e 75 61 6c 2e 68 74 6d 6c 0a 09 6d 6b 64 69  anual.html..mkdi
0fd0: 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f 73  r -p $(PREFIX)/s
0fe0: 68 61 72 65 2f 64 6f 63 73 0a 09 24 28 49 4e 53  hare/docs..$(INS
0ff0: 54 41 4c 4c 29 20 64 6f 63 73 2f 6d 61 6e 75 61  TALL) docs/manua
1000: 6c 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75 61  l/megatest_manua
1010: 6c 2e 68 74 6d 6c 20 24 28 50 52 45 46 49 58 29  l.html $(PREFIX)
1020: 2f 73 68 61 72 65 2f 64 6f 63 73 2f 6d 65 67 61  /share/docs/mega
1030: 74 65 73 74 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c  test_manual.html
1040: 0a 09 66 6f 72 20 70 6e 67 20 69 6e 20 24 28 50  ..for png in $(P
1050: 4e 47 46 49 4c 45 53 29 3b 64 6f 20 24 28 49 4e  NGFILES);do $(IN
1060: 53 54 41 4c 4c 29 20 64 6f 63 73 2f 6d 61 6e 75  STALL) docs/manu
1070: 61 6c 2f 24 24 70 6e 67 20 24 28 50 52 45 46 49  al/$$png $(PREFI
1080: 58 29 2f 73 68 61 72 65 2f 64 6f 63 73 2f 24 24  X)/share/docs/$$
1090: 70 6e 67 3b 64 6f 6e 65 0a 0a 23 20 61 64 64 20  png;done..# add 
10a0: 61 20 66 61 6b 65 20 64 65 70 65 6e 64 65 6e 63  a fake dependenc
10b0: 79 20 73 6f 20 74 68 69 73 20 64 6f 65 6e 73 27  y so this doens'
10c0: 74 20 63 6f 70 79 20 65 76 65 72 79 74 69 6d 65  t copy everytime
10d0: 0a 24 28 50 52 45 46 49 58 29 2f 73 68 61 72 65  .$(PREFIX)/share
10e0: 2f 6a 73 2f 6a 71 75 65 72 79 2d 33 2e 31 2e 30  /js/jquery-3.1.0
10f0: 2e 73 6c 69 6d 2e 6d 69 6e 2e 6a 73 20 3a 20 23  .slim.min.js : #
1100: 20 2e 66 73 6c 63 6b 6f 75 74 0a 09 6d 6b 64 69   .fslckout..mkdi
1110: 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f 73  r -p $(PREFIX)/s
1120: 68 61 72 65 2f 6a 73 0a 09 66 6f 73 73 69 6c 20  hare/js..fossil 
1130: 77 69 6b 69 20 65 78 70 6f 72 74 20 6a 61 76 61  wiki export java
1140: 2d 73 63 72 69 70 74 2d 6c 69 62 20 3e 20 24 28  -script-lib > $(
1150: 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 6a 73  PREFIX)/share/js
1160: 2f 6a 71 75 65 72 79 2d 33 2e 31 2e 30 2e 73 6c  /jquery-3.1.0.sl
1170: 69 6d 2e 6d 69 6e 2e 6a 73 0a 0a 24 28 50 52 45  im.min.js..$(PRE
1180: 46 49 58 29 2f 73 68 61 72 65 2f 64 62 2f 6d 74  FIX)/share/db/mt
1190: 2d 70 67 2e 73 71 6c 20 3a 20 6d 74 2d 70 67 2e  -pg.sql : mt-pg.
11a0: 73 71 6c 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28  sql..mkdir -p $(
11b0: 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 64 62  PREFIX)/share/db
11c0: 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 6d 74 2d  ..$(INSTALL) mt-
11d0: 70 67 2e 73 71 6c 20 24 28 50 52 45 46 49 58 29  pg.sql $(PREFIX)
11e0: 2f 73 68 61 72 65 2f 64 62 2f 6d 74 2d 70 67 2e  /share/db/mt-pg.
11f0: 73 71 6c 0a 0a 23 20 53 70 65 63 69 61 6c 20 64  sql..# Special d
1200: 65 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20  ependencies for 
1210: 74 68 65 20 69 6e 63 6c 75 64 65 73 0a 63 6f 6d  the includes.com
1220: 6d 6f 6e 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f  mon.o : mofiles/
1230: 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a 0a 74 65 73  commonmod.o..tes
1240: 74 73 2e 6f 20 64 62 2e 6f 20 6c 61 75 6e 63 68  ts.o db.o launch
1250: 2e 6f 20 72 75 6e 73 2e 6f 20 64 61 73 68 62 6f  .o runs.o dashbo
1260: 61 72 64 2d 74 65 73 74 73 2e 6f 09 09 09 09 5c  ard-tests.o....\
1270: 0a 64 61 73 68 62 6f 61 72 64 2d 63 6f 6e 74 65  .dashboard-conte
1280: 78 74 2d 6d 65 6e 75 2e 6f 20 64 61 73 68 62 6f  xt-menu.o dashbo
1290: 61 72 64 2d 67 75 69 6d 6f 6e 69 74 6f 72 2e 6f  ard-guimonitor.o
12a0: 20 64 61 73 68 62 6f 61 72 64 2d 6d 61 69 6e 2e   dashboard-main.
12b0: 6f 09 5c 0a 6d 6f 6e 69 74 6f 72 2e 6f 20 64 61  o.\.monitor.o da
12c0: 73 68 62 6f 61 72 64 2e 6f 20 61 72 63 68 69 76  shboard.o archiv
12d0: 65 2e 6f 20 6d 65 67 61 74 65 73 74 2e 6f 20 3a  e.o megatest.o :
12e0: 20 64 62 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a   db_records.scm.
12f0: 0a 74 65 73 74 73 2e 6f 20 72 75 6e 73 2e 6f 20  .tests.o runs.o 
1300: 64 61 73 68 62 6f 61 72 64 2e 6f 20 64 61 73 68  dashboard.o dash
1310: 62 6f 61 72 64 2d 74 65 73 74 73 2e 6f 20 64 61  board-tests.o da
1320: 73 68 62 6f 61 72 64 2d 63 6f 6e 74 65 78 74 2d  shboard-context-
1330: 6d 65 6e 75 2e 6f 20 64 61 73 68 62 6f 61 72 64  menu.o dashboard
1340: 2d 6d 61 69 6e 2e 6f 20 20 3a 20 72 75 6e 5f 72  -main.o  : run_r
1350: 65 63 6f 72 64 73 2e 73 63 6d 0a 0a 64 62 2e 6f  ecords.scm..db.o
1360: 20 65 7a 73 74 65 70 73 2e 6f 20 6b 65 79 73 2e   ezsteps.o keys.
1370: 6f 20 6c 61 75 6e 63 68 2e 6f 20 6d 65 67 61 74  o launch.o megat
1380: 65 73 74 2e 6f 20 6d 6f 6e 69 74 6f 72 2e 6f 20  est.o monitor.o 
1390: 72 75 6e 73 2d 66 6f 72 2d 72 65 66 2e 6f 20 72  runs-for-ref.o r
13a0: 75 6e 73 2e 6f 20 74 65 73 74 73 2e 6f 20 3a 20  uns.o tests.o : 
13b0: 6b 65 79 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a  key_records.scm.
13c0: 0a 74 65 73 74 73 2e 6f 20 74 61 73 6b 73 2e 6f  .tests.o tasks.o
13d0: 20 64 61 73 68 62 6f 61 72 64 2d 74 61 73 6b 73   dashboard-tasks
13e0: 2e 6f 20 3a 20 74 61 73 6b 5f 72 65 63 6f 72 64  .o : task_record
13f0: 73 2e 73 63 6d 0a 0a 72 75 6e 73 2e 6f 20 3a 20  s.scm..runs.o : 
1400: 74 65 73 74 5f 72 65 63 6f 72 64 73 2e 73 63 6d  test_records.scm
1410: 0a 0a 6d 65 67 61 74 65 73 74 2e 6f 20 3a 20 6d  ..megatest.o : m
1420: 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68  egatest-fossil-h
1430: 61 73 68 2e 73 63 6d 0a 0a 72 6d 74 2e 73 63 6d  ash.scm..rmt.scm
1440: 20 63 6c 69 65 6e 74 2e 73 63 6d 20 63 6f 6d 6d   client.scm comm
1450: 6f 6e 2e 73 63 6d 20 63 6f 6e 66 69 67 66 2e 73  on.scm configf.s
1460: 63 6d 20 64 61 73 68 62 6f 61 72 64 2d 67 75 69  cm dashboard-gui
1470: 6d 6f 6e 69 74 6f 72 2e 73 63 6d 20 64 61 73 68  monitor.scm dash
1480: 62 6f 61 72 64 2d 74 65 73 74 73 2e 73 63 6d 20  board-tests.scm 
1490: 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 64 62  dashboard.scm db
14a0: 2e 73 63 6d 20 64 63 6f 6d 6d 6f 6e 2e 73 63 6d  .scm dcommon.scm
14b0: 20 65 7a 73 74 65 70 73 2e 73 63 6d 20 66 73 2d   ezsteps.scm fs-
14c0: 74 72 61 6e 73 70 6f 72 74 2e 73 63 6d 20 68 74  transport.scm ht
14d0: 74 70 2d 74 72 61 6e 73 70 6f 72 74 2e 73 63 6d  tp-transport.scm
14e0: 20 69 6e 64 65 78 2d 74 72 65 65 2e 73 63 6d 20   index-tree.scm 
14f0: 69 74 65 6d 73 2e 73 63 6d 20 6b 65 79 73 2e 73  items.scm keys.s
1500: 63 6d 20 6c 61 75 6e 63 68 2e 73 63 6d 20 6d 65  cm launch.scm me
1510: 67 61 74 65 73 74 2e 73 63 6d 20 6d 6f 6e 69 74  gatest.scm monit
1520: 6f 72 2e 73 63 6d 20 6d 74 2e 73 63 6d 20 6e 65  or.scm mt.scm ne
1530: 77 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 72  wdashboard.scm r
1540: 75 6e 63 6f 6e 66 69 67 2e 73 63 6d 20 72 75 6e  unconfig.scm run
1550: 73 2e 73 63 6d 20 73 65 72 76 65 72 2e 73 63 6d  s.scm server.scm
1560: 20 74 64 62 2e 73 63 6d 20 74 65 73 74 73 2e 73   tdb.scm tests.s
1570: 63 6d 20 74 72 65 65 2e 73 63 6d 20 3a 20 63 6f  cm tree.scm : co
1580: 6d 6d 6f 6e 5f 72 65 63 6f 72 64 73 2e 73 63 6d  mmon_records.scm
1590: 0a 0a 63 6f 6d 6d 6f 6e 5f 72 65 63 6f 72 64 73  ..common_records
15a0: 2e 73 63 6d 20 3a 20 61 6c 74 64 62 2e 73 63 6d  .scm : altdb.scm
15b0: 0a 0a 6d 6f 66 69 6c 65 73 2f 73 74 6d 6c 32 2e  ..mofiles/stml2.
15c0: 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 63 6f 6f 6b  o : mofiles/cook
15d0: 69 65 2e 6f 0a 63 6f 6e 66 69 67 66 2e 6f 20 3a  ie.o.configf.o :
15e0: 20 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d   mofiles/commonm
15f0: 6f 64 2e 6f 0a 0a 76 67 2e 6f 20 64 61 73 68 62  od.o..vg.o dashb
1600: 6f 61 72 64 2e 6f 20 3a 20 76 67 5f 72 65 63 6f  oard.o : vg_reco
1610: 72 64 73 2e 73 63 6d 0a 0a 64 63 6f 6d 6d 6f 6e  rds.scm..dcommon
1620: 2e 6f 20 3a 20 72 75 6e 5f 72 65 63 6f 72 64 73  .o : run_records
1630: 2e 73 63 6d 0a 0a 6d 6f 66 69 6c 65 73 2f 73 74  .scm..mofiles/st
1640: 6d 6c 32 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f  ml2.o : mofiles/
1650: 63 6f 6f 6b 69 65 2e 6f 0a 0a 23 20 73 70 65 63  cookie.o..# spec
1660: 69 61 6c 20 69 6e 63 6c 75 64 65 20 62 61 73 65  ial include base
1670: 64 20 6d 6f 64 75 6c 65 73 0a 6d 6f 66 69 6c 65  d modules.mofile
1680: 73 2f 70 6b 74 73 2e 6f 20 20 20 20 20 20 3a 20  s/pkts.o      : 
1690: 70 6b 74 73 2f 70 6b 74 73 2e 73 63 6d 0a 6d 6f  pkts/pkts.scm.mo
16a0: 66 69 6c 65 73 2f 73 74 6d 6c 32 2e 6f 20 20 20  files/stml2.o   
16b0: 20 20 3a 20 63 6f 6f 6b 69 65 2e 6f 0a 23 20 6d    : cookie.o.# m
16c0: 6f 66 69 6c 65 73 2f 6d 74 61 72 67 73 2e 6f 20  ofiles/mtargs.o 
16d0: 20 20 20 3a 20 6d 74 61 72 67 73 2f 6d 74 61 72     : mtargs/mtar
16e0: 67 73 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65 73  gs.scm.# mofiles
16f0: 2f 6d 74 63 6f 6e 66 69 67 66 2e 6f 20 3a 20 6d  /mtconfigf.o : m
1700: 74 63 6f 6e 66 69 67 66 2f 6d 74 63 6f 6e 66 69  tconfigf/mtconfi
1710: 67 66 2e 73 63 6d 0a 6d 6f 66 69 6c 65 73 2f 75  gf.scm.mofiles/u
1720: 6c 65 78 2e 6f 20 20 20 20 20 20 3a 20 75 6c 65  lex.o      : ule
1730: 78 2f 75 6c 65 78 2e 73 63 6d 0a 6d 6f 66 69 6c  x/ulex.scm.mofil
1740: 65 73 2f 6d 75 74 69 6c 73 2e 6f 20 20 20 20 3a  es/mutils.o    :
1750: 20 6d 75 74 69 6c 73 2f 6d 75 74 69 6c 73 2e 73   mutils/mutils.s
1760: 63 6d 0a 6d 6f 66 69 6c 65 73 2f 63 6f 6f 6b 69  cm.mofiles/cooki
1770: 65 2e 6f 20 20 20 20 3a 20 73 74 6d 6c 32 2f 63  e.o    : stml2/c
1780: 6f 6f 6b 69 65 2e 73 63 6d 0a 6d 6f 66 69 6c 65  ookie.scm.mofile
1790: 73 2f 73 74 6d 6c 32 2e 6f 20 20 20 20 20 3a 20  s/stml2.o     : 
17a0: 73 74 6d 6c 32 2f 73 74 6d 6c 32 2e 73 63 6d 0a  stml2/stml2.scm.
17b0: 0a 23 20 66 6f 72 20 74 68 65 20 6d 6f 64 75 6c  .# for the modul
17c0: 61 72 69 7a 65 64 20 73 74 75 66 66 0a 72 6d 74  arized stuff.rmt
17d0: 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 64 75 63  .o : mofiles/duc
17e0: 74 74 61 70 65 2d 6c 69 62 2e 6f 20 6d 6f 66 69  ttape-lib.o mofi
17f0: 6c 65 73 2f 70 6b 74 73 2e 6f 20 6d 6f 66 69 6c  les/pkts.o mofil
1800: 65 73 2f 73 74 6d 6c 32 2e 6f 20 6d 6f 66 69 6c  es/stml2.o mofil
1810: 65 73 2f 6d 75 74 69 6c 73 2e 6f 20 6d 6f 66 69  es/mutils.o mofi
1820: 6c 65 73 2f 6d 74 61 72 67 73 2e 6f 0a 0a 6d 65  les/mtargs.o..me
1830: 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61  gatest-fossil-ha
1840: 73 68 2e 73 63 6d 20 3a 20 24 28 53 52 43 46 49  sh.scm : $(SRCFI
1850: 4c 45 53 29 20 6d 65 67 61 74 65 73 74 2e 73 63  LES) megatest.sc
1860: 6d 20 2a 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a  m *_records.scm.
1870: 09 65 63 68 6f 20 22 28 64 65 66 69 6e 65 20 6d  .echo "(define m
1880: 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68  egatest-fossil-h
1890: 61 73 68 20 5c 22 24 28 4d 54 45 53 54 48 41 53  ash \"$(MTESTHAS
18a0: 48 29 5c 22 29 22 20 3e 20 6d 65 67 61 74 65 73  H)\")" > megates
18b0: 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 6e 65  t-fossil-hash.ne
18c0: 77 0a 09 69 66 20 21 20 64 69 66 66 20 2d 71 20  w..if ! diff -q 
18d0: 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d  megatest-fossil-
18e0: 68 61 73 68 2e 6e 65 77 20 6d 65 67 61 74 65 73  hash.new megates
18f0: 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63  t-fossil-hash.sc
1900: 6d 20 3b 20 74 68 65 6e 20 65 63 68 6f 20 63 6f  m ; then echo co
1910: 70 79 69 6e 67 20 2e 6e 65 77 20 74 6f 20 2e 73  pying .new to .s
1920: 63 6d 3b 63 70 20 2d 66 20 6d 65 67 61 74 65 73  cm;cp -f megates
1930: 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 6e 65  t-fossil-hash.ne
1940: 77 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69  w megatest-fossi
1950: 6c 2d 68 61 73 68 2e 73 63 6d 3b 66 69 0a 0a 24  l-hash.scm;fi..$
1960: 28 4f 46 49 4c 45 53 29 20 24 28 47 4f 46 49 4c  (OFILES) $(GOFIL
1970: 45 53 29 20 3a 20 63 6f 6d 6d 6f 6e 5f 72 65 63  ES) : common_rec
1980: 6f 72 64 73 2e 73 63 6d 20 0a 0a 23 20 54 68 69  ords.scm ..# Thi
1990: 73 20 68 61 76 69 6e 67 20 74 68 65 20 66 75 6c  s having the ful
19a0: 6c 20 6c 69 73 74 20 6f 66 20 4d 4f 46 49 4c 45  l list of MOFILE
19b0: 53 20 63 61 75 73 65 20 65 76 65 72 79 74 68 69  S cause everythi
19c0: 6e 67 20 74 6f 20 62 65 20 72 65 62 75 69 6c 74  ng to be rebuilt
19d0: 20 65 76 65 72 79 20 74 69 6d 65 2e 0a 23 0a 23   every time..#.#
19e0: 20 25 2e 6f 20 3a 20 25 2e 73 63 6d 20 24 28 4d   %.o : %.scm $(M
19f0: 4f 46 49 4c 45 53 29 0a 23 20 09 63 73 63 20 24  OFILES).# .csc $
1a00: 28 43 53 43 4f 50 54 53 29 20 2d 63 20 24 3c 20  (CSCOPTS) -c $< 
1a10: 24 28 4d 4f 46 49 4c 45 53 29 0a 23 0a 25 2e 6f  $(MOFILES).#.%.o
1a20: 20 3a 20 25 2e 73 63 6d 0a 09 63 73 63 20 24 28   : %.scm..csc $(
1a30: 43 53 43 4f 50 54 53 29 20 2d 63 20 24 3c 0a 0a  CSCOPTS) -c $<..
1a40: 23 20 73 70 65 63 69 66 69 63 20 72 75 6c 65 73  # specific rules
1a50: 20 66 6f 72 20 2e 6f 20 66 69 6c 65 73 20 74 68   for .o files th
1a60: 61 74 20 67 65 6e 75 6e 69 6e 65 6c 79 20 64 65  at genuninely de
1a70: 70 65 6e 64 20 6f 6e 20 6d 6f 66 69 6c 65 73 2f  pend on mofiles/
1a80: 73 6f 6d 65 74 68 69 6e 67 0a 23 0a 6d 65 67 61  something.#.mega
1a90: 74 65 73 74 2e 6f 20 3a 20 6d 65 67 61 74 65 73  test.o : megates
1aa0: 74 2e 73 63 6d 20 73 74 6d 6c 32 2e 6f 20 6d 75  t.scm stml2.o mu
1ab0: 74 69 6c 73 2e 6f 20 63 6f 6d 6d 6f 6e 6d 6f 64  tils.o commonmod
1ac0: 2e 6f 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54  .o..csc $(CSCOPT
1ad0: 53 29 20 2d 63 20 6d 65 67 61 74 65 73 74 2e 73  S) -c megatest.s
1ae0: 63 6d 20 73 74 6d 6c 32 2e 6f 20 6d 75 74 69 6c  cm stml2.o mutil
1af0: 73 2e 6f 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a  s.o commonmod.o.
1b00: 0a 64 61 73 68 62 6f 61 72 64 2e 6f 20 3a 20 64  .dashboard.o : d
1b10: 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 73 74 6d  ashboard.scm stm
1b20: 6c 32 2e 6f 20 6d 75 74 69 6c 73 2e 6f 20 63 6f  l2.o mutils.o co
1b30: 6d 6d 6f 6e 6d 6f 64 2e 6f 20 64 62 6d 6f 64 2e  mmonmod.o dbmod.
1b40: 6f 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54 53  o..csc $(CSCOPTS
1b50: 29 20 2d 63 20 6d 65 67 61 74 65 73 74 2e 73 63  ) -c megatest.sc
1b60: 6d 20 73 74 6d 6c 32 2e 6f 20 6d 75 74 69 6c 73  m stml2.o mutils
1b70: 2e 6f 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20 64  .o commonmod.o d
1b80: 62 6d 6f 64 2e 6f 0a 0a 63 6f 6d 6d 6f 6e 2e 6f  bmod.o..common.o
1b90: 20 3a 20 6d 65 67 61 74 65 73 74 2e 73 63 6d 20   : megatest.scm 
1ba0: 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f  mofiles/commonmo
1bb0: 64 2e 6f 20 63 6f 6d 6d 6f 6e 2e 73 63 6d 0a 09  d.o common.scm..
1bc0: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 2d  csc $(CSCOPTS) -
1bd0: 63 20 63 6f 6d 6d 6f 6e 2e 73 63 6d 20 6d 6f 66  c common.scm mof
1be0: 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f  iles/commonmod.o
1bf0: 0a 0a 63 6f 6e 66 69 67 66 2e 6f 20 3a 20 63 6f  ..configf.o : co
1c00: 6e 66 69 67 66 2e 73 63 6d 20 6d 6f 66 69 6c 65  nfigf.scm mofile
1c10: 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a 09 63  s/commonmod.o..c
1c20: 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 2d 63  sc $(CSCOPTS) -c
1c30: 20 63 6f 6e 66 69 67 66 2e 73 63 6d 20 6d 6f 66   configf.scm mof
1c40: 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f  iles/commonmod.o
1c50: 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ..$(PREFIX)/bin/
1c60: 2e 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f  .$(ARCHSTR)/bin/
1c70: 6d 74 65 73 74 20 3a 20 6d 74 65 73 74 20 0a 09  mtest : mtest ..
1c80: 40 65 63 68 6f 20 49 6e 73 74 61 6c 6c 69 6e 67  @echo Installing
1c90: 20 74 6f 20 50 52 45 46 49 58 3d 24 28 50 52 45   to PREFIX=$(PRE
1ca0: 46 49 58 29 0a 09 24 28 49 4e 53 54 41 4c 4c 29  FIX)..$(INSTALL)
1cb0: 20 6d 74 65 73 74 20 24 28 50 52 45 46 49 58 29   mtest $(PREFIX)
1cc0: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
1cd0: 2f 62 69 6e 2f 6d 74 65 73 74 0a 0a 24 28 50 52  /bin/mtest..$(PR
1ce0: 45 46 49 58 29 2f 62 69 6e 2f 6d 65 67 61 74 65  EFIX)/bin/megate
1cf0: 73 74 20 3a 20 24 28 50 52 45 46 49 58 29 2f 62  st : $(PREFIX)/b
1d00: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 62  in/.$(ARCHSTR)/b
1d10: 69 6e 2f 6d 74 65 73 74 20 75 74 69 6c 73 2f 6d  in/mtest utils/m
1d20: 6b 5f 77 72 61 70 70 65 72 0a 09 75 74 69 6c 73  k_wrapper..utils
1d30: 2f 6d 6b 5f 77 72 61 70 70 65 72 20 24 28 50 52  /mk_wrapper $(PR
1d40: 45 46 49 58 29 20 6d 74 65 73 74 20 24 28 50 52  EFIX) mtest $(PR
1d50: 45 46 49 58 29 2f 62 69 6e 2f 6d 65 67 61 74 65  EFIX)/bin/megate
1d60: 73 74 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 28  st..chmod a+x $(
1d70: 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 65 67 61  PREFIX)/bin/mega
1d80: 74 65 73 74 0a 0a 24 28 50 52 45 46 49 58 29 2f  test..$(PREFIX)/
1d90: 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f  bin/.$(ARCHSTR)/
1da0: 62 69 6e 2f 6e 64 62 6f 61 72 64 20 3a 20 6e 64  bin/ndboard : nd
1db0: 62 6f 61 72 64 0a 09 24 28 49 4e 53 54 41 4c 4c  board..$(INSTALL
1dc0: 29 20 6e 64 62 6f 61 72 64 20 24 28 50 52 45 46  ) ndboard $(PREF
1dd0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
1de0: 54 52 29 2f 62 69 6e 2f 6e 64 62 6f 61 72 64 0a  TR)/bin/ndboard.
1df0: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e  .$(PREFIX)/bin/n
1e00: 65 77 64 61 73 68 62 6f 61 72 64 20 3a 20 24 28  ewdashboard : $(
1e10: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
1e20: 52 43 48 53 54 52 29 2f 6e 64 62 6f 61 72 64 20  RCHSTR)/ndboard 
1e30: 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72  utils/mk_wrapper
1e40: 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70  ..utils/mk_wrapp
1e50: 65 72 20 24 28 50 52 45 46 49 58 29 20 6e 64 62  er $(PREFIX) ndb
1e60: 6f 61 72 64 20 24 28 50 52 45 46 49 58 29 2f 62  oard $(PREFIX)/b
1e70: 69 6e 2f 6e 65 77 64 61 73 68 62 6f 61 72 64 0a  in/newdashboard.
1e80: 09 63 68 6d 6f 64 20 61 2b 78 20 24 28 50 52 45  .chmod a+x $(PRE
1e90: 46 49 58 29 2f 62 69 6e 2f 6e 65 77 64 61 73 68  FIX)/bin/newdash
1ea0: 62 6f 61 72 64 0a 0a 23 20 6d 74 75 74 69 6c 0a  board..# mtutil.
1eb0: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e  .$(PREFIX)/bin/.
1ec0: 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 6d  $(ARCHSTR)/bin/m
1ed0: 74 75 74 20 3a 20 6d 74 75 74 0a 09 24 28 49 4e  tut : mtut..$(IN
1ee0: 53 54 41 4c 4c 29 20 6d 74 75 74 20 24 28 50 52  STALL) mtut $(PR
1ef0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
1f00: 48 53 54 52 29 2f 62 69 6e 2f 6d 74 75 74 0a 0a  HSTR)/bin/mtut..
1f10: 69 6e 73 74 61 6c 6c 2d 6d 74 75 74 20 3a 20 6d  install-mtut : m
1f20: 74 75 74 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  tut..$(INSTALL) 
1f30: 6d 74 75 74 20 24 28 50 52 45 46 49 58 29 2f 62  mtut $(PREFIX)/b
1f40: 69 6e 2f 6d 74 75 74 0a 0a 24 28 50 52 45 46 49  in/mtut..$(PREFI
1f50: 58 29 2f 62 69 6e 2f 6d 74 75 74 69 6c 20 3a 20  X)/bin/mtutil : 
1f60: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
1f70: 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 6d 74  (ARCHSTR)/bin/mt
1f80: 75 74 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70  ut utils/mk_wrap
1f90: 70 65 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72  per..utils/mk_wr
1fa0: 61 70 70 65 72 20 24 28 50 52 45 46 49 58 29 20  apper $(PREFIX) 
1fb0: 6d 74 75 74 20 24 28 50 52 45 46 49 58 29 2f 62  mtut $(PREFIX)/b
1fc0: 69 6e 2f 6d 74 75 74 69 6c 0a 09 63 68 6d 6f 64  in/mtutil..chmod
1fd0: 20 61 2b 78 20 24 28 50 52 45 46 49 58 29 2f 62   a+x $(PREFIX)/b
1fe0: 69 6e 2f 6d 74 75 74 69 6c 0a 0a 23 20 6d 74 65  in/mtutil..# mte
1ff0: 78 65 63 0a 0a 6d 74 65 78 65 63 3a 20 24 28 4f  xec..mtexec: $(O
2000: 46 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53  FILES) $(MOFILES
2010: 29 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69  ) megatest-fossi
2020: 6c 2d 68 61 73 68 2e 73 63 6d 20 6d 74 65 78 65  l-hash.scm mtexe
2030: 63 2e 73 63 6d 0a 09 63 73 63 20 24 28 43 53 43  c.scm..csc $(CSC
2040: 4f 50 54 53 29 20 24 28 4f 46 49 4c 45 53 29 20  OPTS) $(OFILES) 
2050: 24 28 4d 4f 46 49 4c 45 53 29 20 6d 74 65 78 65  $(MOFILES) mtexe
2060: 63 2e 73 63 6d 20 2d 6f 20 6d 74 65 78 65 63 0a  c.scm -o mtexec.
2070: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e  .$(PREFIX)/bin/.
2080: 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 6d  $(ARCHSTR)/bin/m
2090: 74 65 78 65 63 20 3a 20 6d 74 65 78 65 63 0a 09  texec : mtexec..
20a0: 24 28 49 4e 53 54 41 4c 4c 29 20 6d 74 65 78 65  $(INSTALL) mtexe
20b0: 63 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  c $(PREFIX)/bin/
20c0: 2e 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f  .$(ARCHSTR)/bin/
20d0: 6d 74 65 78 65 63 0a 0a 24 28 50 52 45 46 49 58  mtexec..$(PREFIX
20e0: 29 2f 62 69 6e 2f 6d 74 65 78 65 63 20 3a 20 24  )/bin/mtexec : $
20f0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28  (PREFIX)/bin/.$(
2100: 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 6d 74 65  ARCHSTR)/bin/mte
2110: 78 65 63 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61  xec utils/mk_wra
2120: 70 70 65 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77  pper..utils/mk_w
2130: 72 61 70 70 65 72 20 24 28 50 52 45 46 49 58 29  rapper $(PREFIX)
2140: 20 6d 74 65 78 65 63 20 24 28 50 52 45 46 49 58   mtexec $(PREFIX
2150: 29 2f 62 69 6e 2f 6d 74 65 78 65 63 0a 09 63 68  )/bin/mtexec..ch
2160: 6d 6f 64 20 61 2b 78 20 24 28 50 52 45 46 49 58  mod a+x $(PREFIX
2170: 29 2f 62 69 6e 2f 6d 74 65 78 65 63 0a 0a 23 20  )/bin/mtexec..# 
2180: 74 63 6d 74 0a 0a 24 28 50 52 45 46 49 58 29 2f  tcmt..$(PREFIX)/
2190: 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f  bin/.$(ARCHSTR)/
21a0: 62 69 6e 2f 74 63 6d 74 20 3a 20 74 63 6d 74 0a  bin/tcmt : tcmt.
21b0: 09 24 28 49 4e 53 54 41 4c 4c 29 20 74 63 6d 74  .$(INSTALL) tcmt
21c0: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e   $(PREFIX)/bin/.
21d0: 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 74  $(ARCHSTR)/bin/t
21e0: 63 6d 74 0a 0a 24 28 50 52 45 46 49 58 29 2f 62  cmt..$(PREFIX)/b
21f0: 69 6e 2f 74 63 6d 74 20 3a 20 24 28 50 52 45 46  in/tcmt : $(PREF
2200: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
2210: 54 52 29 2f 62 69 6e 2f 74 63 6d 74 20 75 74 69  TR)/bin/tcmt uti
2220: 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 0a 09 75  ls/mk_wrapper..u
2230: 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 20  tils/mk_wrapper 
2240: 24 28 50 52 45 46 49 58 29 20 74 63 6d 74 20 24  $(PREFIX) tcmt $
2250: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 74 63 6d  (PREFIX)/bin/tcm
2260: 74 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 28 50  t..chmod a+x $(P
2270: 52 45 46 49 58 29 2f 62 69 6e 2f 74 63 6d 74 0a  REFIX)/bin/tcmt.
2280: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d  .$(PREFIX)/bin/m
2290: 74 5f 6c 61 73 74 73 74 65 70 20 3a 20 75 74 69  t_laststep : uti
22a0: 6c 73 2f 6d 74 5f 6c 61 73 74 73 74 65 70 0a 09  ls/mt_laststep..
22b0: 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40  $(INSTALL) $< $@
22c0: 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a  ..chmod a+x $@..
22d0: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74  $(PREFIX)/bin/mt
22e0: 5f 72 75 6e 73 74 65 70 20 3a 20 75 74 69 6c 73  _runstep : utils
22f0: 2f 6d 74 5f 72 75 6e 73 74 65 70 0a 09 24 28 49  /mt_runstep..$(I
2300: 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63  NSTALL) $< $@..c
2310: 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28 50  hmod a+x $@..$(P
2320: 52 45 46 49 58 29 2f 62 69 6e 2f 73 65 72 69 61  REFIX)/bin/seria
2330: 6c 69 7a 65 2d 65 6e 76 3a 20 73 65 72 69 61 6c  lize-env: serial
2340: 69 7a 65 2d 65 6e 76 2e 73 63 6d 0a 09 63 73 63  ize-env.scm..csc
2350: 20 73 65 72 69 61 6c 69 7a 65 2d 65 6e 76 2e 73   serialize-env.s
2360: 63 6d 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 73  cm..$(INSTALL) s
2370: 65 72 69 61 6c 69 7a 65 2d 65 6e 76 20 24 40 0a  erialize-env $@.
2380: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d  .$(PREFIX)/bin/m
2390: 74 5f 65 7a 73 74 65 70 20 3a 20 75 74 69 6c 73  t_ezstep : utils
23a0: 2f 6d 74 5f 65 7a 73 74 65 70 0a 09 24 28 49 4e  /mt_ezstep..$(IN
23b0: 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68  STALL) $< $@..ch
23c0: 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52  mod a+x $@..$(PR
23d0: 45 46 49 58 29 2f 62 69 6e 2f 6d 74 5f 78 74 65  EFIX)/bin/mt_xte
23e0: 72 6d 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 78 74  rm : utils/mt_xt
23f0: 65 72 6d 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  erm..$(INSTALL) 
2400: 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78  $< $@..chmod a+x
2410: 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62   $@..$(PREFIX)/b
2420: 69 6e 2f 6e 62 66 61 6b 65 20 3a 20 75 74 69 6c  in/nbfake : util
2430: 73 2f 6e 62 66 61 6b 65 0a 09 24 28 49 4e 53 54  s/nbfake..$(INST
2440: 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f  ALL) $< $@..chmo
2450: 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46  d a+x $@..$(PREF
2460: 49 58 29 2f 62 69 6e 2f 72 65 6d 72 75 6e 20 3a  IX)/bin/remrun :
2470: 20 75 74 69 6c 73 2f 72 65 6d 72 75 6e 0a 09 24   utils/remrun..$
2480: 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a  (INSTALL) $< $@.
2490: 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24  .chmod a+x $@..$
24a0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 76 69 65  (PREFIX)/bin/vie
24b0: 77 73 63 72 65 65 6e 20 3a 20 75 74 69 6c 73 2f  wscreen : utils/
24c0: 76 69 65 77 73 63 72 65 65 6e 0a 09 24 28 49 4e  viewscreen..$(IN
24d0: 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68  STALL) $< $@..ch
24e0: 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52  mod a+x $@..$(PR
24f0: 45 46 49 58 29 2f 62 69 6e 2f 6e 62 66 69 6e 64  EFIX)/bin/nbfind
2500: 20 3a 20 75 74 69 6c 73 2f 6e 62 66 69 6e 64 0a   : utils/nbfind.
2510: 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24  .$(INSTALL) $< $
2520: 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a  @..chmod a+x $@.
2530: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d  .$(PREFIX)/bin/m
2540: 74 72 75 6e 6e 65 72 20 3a 20 75 74 69 6c 73 2f  trunner : utils/
2550: 6d 74 72 75 6e 6e 65 72 0a 09 24 28 49 4e 53 54  mtrunner..$(INST
2560: 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f  ALL) $< $@..chmo
2570: 64 20 61 2b 78 20 24 40 0a 0a 64 65 70 6c 6f 79  d a+x $@..deploy
2580: 74 61 72 67 2f 6e 62 66 61 6b 65 20 3a 20 75 74  targ/nbfake : ut
2590: 69 6c 73 2f 6e 62 66 61 6b 65 0a 09 24 28 49 4e  ils/nbfake..$(IN
25a0: 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68  STALL) $< $@..ch
25b0: 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 64 65 70 6c  mod a+x $@..depl
25c0: 6f 79 74 61 72 67 2f 76 69 65 77 73 63 72 65 65  oytarg/viewscree
25d0: 6e 20 3a 20 75 74 69 6c 73 2f 76 69 65 77 73 63  n : utils/viewsc
25e0: 72 65 65 6e 0a 09 24 28 49 4e 53 54 41 4c 4c 29  reen..$(INSTALL)
25f0: 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b   $< $@..chmod a+
2600: 78 20 24 40 0a 0a 64 65 70 6c 6f 79 74 61 72 67  x $@..deploytarg
2610: 2f 6e 62 66 69 6e 64 20 3a 20 75 74 69 6c 73 2f  /nbfind : utils/
2620: 6e 62 66 69 6e 64 0a 09 24 28 49 4e 53 54 41 4c  nbfind..$(INSTAL
2630: 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20  L) $< $@..chmod 
2640: 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58  a+x $@..$(PREFIX
2650: 29 2f 62 69 6e 2f 6d 74 65 73 74 2d 72 65 61 70  )/bin/mtest-reap
2660: 65 72 3a 20 68 65 6c 70 65 72 73 2f 6d 74 65 73  er: helpers/mtes
2670: 74 2d 72 65 61 70 65 72 2e 73 63 6d 20 68 65 6c  t-reaper.scm hel
2680: 70 65 72 73 2f 64 75 63 74 74 61 70 65 2d 6c 69  pers/ducttape-li
2690: 62 2e 73 63 6d 20 68 65 6c 70 65 72 73 2f 69 6e  b.scm helpers/in
26a0: 74 65 6c 64 61 74 65 2e 73 63 6d 20 68 65 6c 70  teldate.scm help
26b0: 65 72 73 2f 6d 69 6d 65 74 79 70 65 73 2e 73 63  ers/mimetypes.sc
26c0: 6d 0a 09 6d 61 6b 65 20 2d 43 20 68 65 6c 70 65  m..make -C helpe
26d0: 72 73 20 24 40 20 50 52 45 46 49 58 3d 24 28 50  rs $@ PREFIX=$(P
26e0: 52 45 46 49 58 29 20 49 4e 53 54 41 4c 4c 3d 24  REFIX) INSTALL=$
26f0: 28 49 4e 53 54 41 4c 4c 29 20 41 52 43 48 53 54  (INSTALL) ARCHST
2700: 52 3d 24 28 41 52 43 48 53 54 52 29 0a 0a 6d 74  R=$(ARCHSTR)..mt
2710: 65 73 74 2d 72 65 61 70 65 72 3a 20 24 28 50 52  est-reaper: $(PR
2720: 45 46 49 58 29 2f 62 69 6e 2f 6d 74 65 73 74 2d  EFIX)/bin/mtest-
2730: 72 65 61 70 65 72 0a 0a 23 20 69 6e 73 74 61 6c  reaper..# instal
2740: 6c 20 64 61 73 68 62 6f 61 72 64 20 61 73 20 64  l dashboard as d
2750: 62 6f 61 72 64 20 73 6f 20 77 72 61 70 70 65 72  board so wrapper
2760: 20 73 63 72 69 70 74 20 63 61 6e 20 62 65 20 63   script can be c
2770: 61 6c 6c 65 64 20 64 61 73 68 62 6f 61 72 64 0a  alled dashboard.
2780: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
2790: 28 41 52 43 48 53 54 52 29 2f 62 69 6e 2f 64 62  (ARCHSTR)/bin/db
27a0: 6f 61 72 64 20 3a 20 64 62 6f 61 72 64 20 24 28  oard : dboard $(
27b0: 46 49 4c 45 53 29 20 0a 09 24 28 49 4e 53 54 41  FILES) ..$(INSTA
27c0: 4c 4c 29 20 64 62 6f 61 72 64 20 24 28 50 52 45  LL) dboard $(PRE
27d0: 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48  FIX)/bin/.$(ARCH
27e0: 53 54 52 29 2f 62 69 6e 2f 64 62 6f 61 72 64 0a  STR)/bin/dboard.
27f0: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 64  .$(PREFIX)/bin/d
2800: 61 73 68 62 6f 61 72 64 20 3a 20 24 28 50 52 45  ashboard : $(PRE
2810: 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48  FIX)/bin/.$(ARCH
2820: 53 54 52 29 2f 62 69 6e 2f 64 62 6f 61 72 64 20  STR)/bin/dboard 
2830: 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72  utils/mk_wrapper
2840: 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70  ..utils/mk_wrapp
2850: 65 72 20 24 28 50 52 45 46 49 58 29 20 64 62 6f  er $(PREFIX) dbo
2860: 61 72 64 20 24 28 50 52 45 46 49 58 29 2f 62 69  ard $(PREFIX)/bi
2870: 6e 2f 64 61 73 68 62 6f 61 72 64 0a 09 63 68 6d  n/dashboard..chm
2880: 6f 64 20 61 2b 78 20 24 28 50 52 45 46 49 58 29  od a+x $(PREFIX)
2890: 2f 62 69 6e 2f 64 61 73 68 62 6f 61 72 64 0a 0a  /bin/dashboard..
28a0: 69 6e 73 74 61 6c 6c 20 3a 20 24 28 50 52 45 46  install : $(PREF
28b0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
28c0: 54 52 29 20 24 28 50 52 45 46 49 58 29 2f 62 69  TR) $(PREFIX)/bi
28d0: 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 62 69  n/.$(ARCHSTR)/bi
28e0: 6e 2f 6d 74 65 73 74 20 24 28 50 52 45 46 49 58  n/mtest $(PREFIX
28f0: 29 2f 62 69 6e 2f 6d 65 67 61 74 65 73 74 20 5c  )/bin/megatest \
2900: 0a 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45  .          $(PRE
2910: 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48  FIX)/bin/.$(ARCH
2920: 53 54 52 29 2f 62 69 6e 2f 64 62 6f 61 72 64 20  STR)/bin/dboard 
2930: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 64 61  $(PREFIX)/bin/da
2940: 73 68 62 6f 61 72 64 20 24 28 48 45 4c 50 45 52  shboard $(HELPER
2950: 53 29 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  S) $(PREFIX)/bin
2960: 2f 6e 62 66 61 6b 65 20 5c 0a 20 20 20 20 20 20  /nbfake \.      
2970: 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 62 69      $(PREFIX)/bi
2980: 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 62 69  n/.$(ARCHSTR)/bi
2990: 6e 2f 6d 74 65 78 65 63 20 24 28 50 52 45 46 49  n/mtexec $(PREFI
29a0: 58 29 2f 62 69 6e 2f 6d 74 65 78 65 63 20 24 28  X)/bin/mtexec $(
29b0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 73 65 72 69  PREFIX)/bin/seri
29c0: 61 6c 69 7a 65 2d 65 6e 76 20 5c 0a 09 20 20 24  alize-env \..  $
29d0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e 62 66  (PREFIX)/bin/nbf
29e0: 69 6e 64 20 24 28 50 52 45 46 49 58 29 2f 62 69  ind $(PREFIX)/bi
29f0: 6e 2f 6d 74 72 75 6e 6e 65 72 20 24 28 50 52 45  n/mtrunner $(PRE
2a00: 46 49 58 29 2f 62 69 6e 2f 76 69 65 77 73 63 72  FIX)/bin/viewscr
2a10: 65 65 6e 20 24 28 50 52 45 46 49 58 29 2f 62 69  een $(PREFIX)/bi
2a20: 6e 2f 6d 74 5f 78 74 65 72 6d 20 5c 0a 09 20 20  n/mt_xterm \..  
2a30: 24 28 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f  $(PREFIX)/share/
2a40: 64 6f 63 73 2f 6d 65 67 61 74 65 73 74 5f 6d 61  docs/megatest_ma
2a50: 6e 75 61 6c 2e 68 74 6d 6c 20 24 28 50 52 45 46  nual.html $(PREF
2a60: 49 58 29 2f 62 69 6e 2f 72 65 6d 72 75 6e 20 5c  IX)/bin/remrun \
2a70: 0a 09 20 20 24 28 50 52 45 46 49 58 29 2f 73 68  ..  $(PREFIX)/sh
2a80: 61 72 65 2f 64 6f 63 73 2f 6d 65 67 61 74 65 73  are/docs/megates
2a90: 74 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 20 24 28  t_manual.html $(
2aa0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 72 65 6d 72  PREFIX)/bin/remr
2ab0: 75 6e 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  un $(PREFIX)/bin
2ac0: 2f 6d 74 75 74 69 6c 20 5c 0a 09 20 20 24 28 50  /mtutil \..  $(P
2ad0: 52 45 46 49 58 29 2f 62 69 6e 2f 74 63 6d 74 20  REFIX)/bin/tcmt 
2ae0: 24 28 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f  $(PREFIX)/share/
2af0: 64 62 2f 6d 74 2d 70 67 2e 73 71 6c 20 5c 0a 20  db/mt-pg.sql \. 
2b00: 20 20 20 20 20 20 20 20 20 24 28 50 52 45 46 49           $(PREFI
2b10: 58 29 2f 73 68 61 72 65 2f 6a 73 2f 6a 71 75 65  X)/share/js/jque
2b20: 72 79 2d 33 2e 31 2e 30 2e 73 6c 69 6d 2e 6d 69  ry-3.1.0.slim.mi
2b30: 6e 2e 6a 73 20 0a 0a 24 28 50 52 45 46 49 58 29  n.js ..$(PREFIX)
2b40: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
2b50: 20 3a 20 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28   : ..mkdir -p $(
2b60: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
2b70: 52 43 48 53 54 52 29 0a 09 6d 6b 64 69 72 20 2d  RCHSTR)..mkdir -
2b80: 70 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  p $(PREFIX)/bin/
2b90: 2e 24 28 41 52 43 48 53 54 52 29 2f 62 69 6e 0a  .$(ARCHSTR)/bin.
2ba0: 09 6d 6b 64 69 72 20 2d 70 20 24 28 50 52 45 46  .mkdir -p $(PREF
2bb0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
2bc0: 54 52 29 2f 6c 69 62 0a 0a 74 65 73 74 3a 20 74  TR)/lib..test: t
2bd0: 65 73 74 73 2f 74 65 73 74 73 2e 73 63 6d 0a 09  ests/tests.scm..
2be0: 63 64 20 74 65 73 74 73 3b 63 73 69 20 2d 49 20  cd tests;csi -I 
2bf0: 2e 2e 20 2d 62 20 2d 6e 20 74 65 73 74 73 2e 73  .. -b -n tests.s
2c00: 63 6d 0a 0a 65 78 74 2d 74 65 73 74 73 2f 2e 66  cm..ext-tests/.f
2c10: 73 6c 63 6b 6f 75 74 20 3a 20 24 28 4d 54 51 41  slckout : $(MTQA
2c20: 5f 46 4f 53 53 49 4c 29 0a 09 6d 6b 64 69 72 20  _FOSSIL)..mkdir 
2c30: 2d 70 20 65 78 74 2d 74 65 73 74 73 0a 09 63 64  -p ext-tests..cd
2c40: 20 65 78 74 2d 74 65 73 74 73 3b 66 6f 73 73 69   ext-tests;fossi
2c50: 6c 20 6f 70 65 6e 20 2d 2d 6e 65 73 74 65 64 20  l open --nested 
2c60: 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29 0a 0a  $(MTQA_FOSSIL)..
2c70: 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29 20 3a  $(MTQA_FOSSIL) :
2c80: 0a 09 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20 68  ..fossil clone h
2c90: 74 74 70 73 3a 2f 2f 77 77 77 2e 6b 69 61 74 6f  ttps://www.kiato
2ca0: 61 2e 63 6f 6d 2f 66 6f 73 73 69 6c 73 2f 6d 65  a.com/fossils/me
2cb0: 67 61 74 65 73 74 5f 71 61 20 24 28 4d 54 51 41  gatest_qa $(MTQA
2cc0: 5f 46 4f 53 53 49 4c 29 0a 0a 63 6c 65 61 6e 20  _FOSSIL)..clean 
2cd0: 3a 20 0a 09 72 6d 20 2d 66 20 24 28 4f 46 49 4c  : ..rm -f $(OFIL
2ce0: 45 53 29 20 24 28 47 4f 46 49 4c 45 53 29 20 24  ES) $(GOFILES) $
2cf0: 28 4d 4f 46 49 4c 45 53 29 20 24 28 54 43 4d 54  (MOFILES) $(TCMT
2d00: 4f 42 4a 53 29 09 09 5c 0a 20 20 20 20 20 20 20  OBJS)..\.       
2d10: 20 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 6d       $(PREFIX)/m
2d20: 65 67 61 74 65 73 74 20 24 28 50 52 45 46 49 58  egatest $(PREFIX
2d30: 29 2f 64 61 73 68 62 6f 61 72 64 20 6d 74 65 73  )/dashboard mtes
2d40: 74 20 6d 74 75 74 69 6c 20 6d 74 75 74 09 5c 0a  t mtutil mtut.\.
2d50: 20 20 20 20 20 20 20 20 20 20 20 20 74 63 6d 74              tcmt
2d60: 20 72 65 61 64 6c 69 6e 65 2d 66 69 78 2e 73 63   readline-fix.sc
2d70: 6d 20 73 65 72 69 61 6c 69 7a 65 2d 65 6e 76 20  m serialize-env 
2d80: 64 62 6f 61 72 64 20 64 62 6f 61 72 64 2e 6f 09  dboard dboard.o.
2d90: 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d  .\.            m
2da0: 65 67 61 74 65 73 74 2e 6f 20 64 61 73 68 62 6f  egatest.o dashbo
2db0: 61 72 64 2e 6f 20 6d 65 67 61 74 65 73 74 2d 66  ard.o megatest-f
2dc0: 6f 73 73 69 6c 2d 68 61 73 68 2e 2a 20 61 6c 74  ossil-hash.* alt
2dd0: 64 62 2e 73 63 6d 09 5c 0a 20 20 20 20 20 20 20  db.scm.\.       
2de0: 20 20 20 20 20 6d 6f 66 69 6c 65 73 2f 2a 2e 6f       mofiles/*.o
2df0: 20 76 67 2e 6f 20 63 6f 6f 6b 69 65 2e 6f 20 64   vg.o cookie.o d
2e00: 61 73 68 62 6f 61 72 64 2d 6d 61 69 6e 2e 6f 09  ashboard-main.o.
2e10: 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 75  \.            du
2e20: 63 74 74 61 70 65 2d 6c 69 62 2e 6f 20 66 74 61  cttape-lib.o fta
2e30: 69 6c 2e 6f 20 6d 75 74 69 6c 73 2e 6f 20 70 6b  il.o mutils.o pk
2e40: 74 73 2e 6f 20 72 6d 74 6d 6f 64 2e 6f 20 73 74  ts.o rmtmod.o st
2e50: 6d 6c 32 2e 6f 09 5c 0a 20 20 20 20 20 20 20 20  ml2.o.\.        
2e60: 20 20 20 20 74 63 6d 74 2e 6f 0a 09 72 6d 20 2d      tcmt.o..rm -
2e70: 72 66 20 73 68 61 72 65 0a 0a 23 3d 3d 3d 3d 3d  rf share..#=====
2e80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2e90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2ea0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2eb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2ec0: 3d 0a 23 20 44 65 70 6c 6f 79 20 73 65 63 74 69  =.# Deploy secti
2ed0: 6f 6e 20 28 6e 6f 74 20 63 6f 6d 70 6c 65 74 65  on (not complete
2ee0: 20 79 65 74 29 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d   yet).#=========
2ef0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2f00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2f10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
2f20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 23  =============..#
2f30: 20 45 67 67 73 20 74 6f 20 69 6e 73 74 61 6c 6c   Eggs to install
2f40: 20 28 73 74 72 61 69 67 68 74 66 6f 72 77 61 72   (straightforwar
2f50: 64 20 6f 6e 65 73 29 0a 45 47 47 53 3d 6d 61 74  d ones).EGGS=mat
2f60: 63 68 61 62 6c 65 20 72 65 61 64 6c 69 6e 65 20  chable readline 
2f70: 61 6f 6b 70 72 6f 70 6f 73 20 62 61 73 65 36 34  aokpropos base64
2f80: 20 72 65 67 65 78 2d 6c 69 74 65 72 61 6c 73 20   regex-literals 
2f90: 66 6f 72 6d 61 74 09 09 5c 0a 72 65 67 65 78 2d  format..\.regex-
2fa0: 63 61 73 65 20 74 65 73 74 20 63 6f 6f 70 73 20  case test coops 
2fb0: 74 72 61 63 65 20 63 73 76 20 64 6f 74 2d 6c 6f  trace csv dot-lo
2fc0: 63 6b 69 6e 67 20 70 6f 73 69 78 2d 75 74 69 6c  cking posix-util
2fd0: 73 20 70 6f 73 69 78 2d 65 78 74 72 61 73 09 5c  s posix-extras.\
2fe0: 0a 64 69 72 65 63 74 6f 72 79 2d 75 74 69 6c 73  .directory-utils
2ff0: 20 68 6f 73 74 69 6e 66 6f 20 74 63 70 2d 73 65   hostinfo tcp-se
3000: 72 76 65 72 20 72 70 63 20 63 73 76 2d 78 6d 6c  rver rpc csv-xml
3010: 20 66 6d 74 20 6a 73 6f 6e 20 6d 64 35 20 61 77   fmt json md5 aw
3020: 66 75 6c 09 5c 0a 68 74 74 70 2d 63 6c 69 65 6e  ful.\.http-clien
3030: 74 20 73 70 69 66 66 79 20 75 72 69 2d 63 6f 6d  t spiffy uri-com
3040: 6d 6f 6e 20 69 6e 74 61 72 77 65 62 20 73 70 69  mon intarweb spi
3050: 66 66 79 2d 72 65 71 75 65 73 74 2d 76 61 72 73  ffy-request-vars
3060: 09 09 5c 0a 73 70 69 66 66 79 2d 64 69 72 65 63  ..\.spiffy-direc
3070: 74 6f 72 79 2d 6c 69 73 74 69 6e 67 20 73 73 61  tory-listing ssa
3080: 78 20 73 78 6d 6c 2d 73 65 72 69 61 6c 69 7a 65  x sxml-serialize
3090: 72 20 73 78 6d 6c 2d 6d 6f 64 69 66 69 63 61 74  r sxml-modificat
30a0: 69 6f 6e 73 20 69 75 70 09 5c 0a 63 61 6e 76 61  ions iup.\.canva
30b0: 73 2d 64 72 61 77 20 73 71 6c 69 74 65 33 0a 0a  s-draw sqlite3..
30c0: 24 28 44 45 50 4c 4f 59 48 45 4c 50 45 52 53 29  $(DEPLOYHELPERS)
30d0: 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 2a 0a 09 24   : utils/mt_*..$
30e0: 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a  (INSTALL) $< $@.
30f0: 09 63 68 6d 6f 64 20 61 2b 58 20 24 40 0a 0a 64  .chmod a+X $@..d
3100: 65 70 6c 6f 79 74 61 72 67 2f 61 70 72 6f 70 6f  eploytarg/apropo
3110: 73 2e 73 6f 20 3a 20 4d 61 6b 65 66 69 6c 65 0a  s.so : Makefile.
3120: 09 63 68 69 63 6b 65 6e 2d 69 6e 73 74 61 6c 6c  .chicken-install
3130: 20 2d 70 20 64 65 70 6c 6f 79 74 61 72 67 20 2d   -p deploytarg -
3140: 64 65 70 6c 6f 79 20 2d 6b 65 65 70 2d 69 6e 73  deploy -keep-ins
3150: 74 61 6c 6c 65 64 20 24 28 45 47 47 53 29 0a 0a  talled $(EGGS)..
3160: 64 65 70 6c 6f 79 20 3a 20 64 65 70 6c 6f 79 74  deploy : deployt
3170: 61 72 67 2f 6d 74 65 73 74 20 64 65 70 6c 6f 79  arg/mtest deploy
3180: 74 61 72 67 2f 64 62 6f 61 72 64 20 24 28 44 45  targ/dboard $(DE
3190: 50 4c 4f 59 48 45 4c 50 45 52 53 29 20 64 65 70  PLOYHELPERS) dep
31a0: 6c 6f 79 74 61 72 67 2f 6e 62 66 61 6b 65 20 64  loytarg/nbfake d
31b0: 65 70 6c 6f 79 74 61 72 67 2f 72 65 6d 72 75 6e  eploytarg/remrun
31c0: 20 64 65 70 6c 6f 79 74 61 72 67 2f 76 69 65 77   deploytarg/view
31d0: 73 63 65 65 6e 20 64 65 70 6c 6f 79 74 61 72 67  sceen deploytarg
31e0: 2f 6e 62 66 69 6e 64 20 64 65 70 6c 6f 79 74 61  /nbfind deployta
31f0: 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 0a 0a 23  rg/apropos.so..#
3200: 20 70 75 74 73 20 64 65 70 6c 6f 79 65 64 20 6d   puts deployed m
3210: 65 67 61 74 65 73 74 20 69 6e 20 64 69 72 65 63  egatest in direc
3220: 74 6f 72 79 20 22 6d 65 67 61 74 65 73 74 22 0a  tory "megatest".
3230: 64 65 70 6c 6f 79 74 61 72 67 2f 6d 74 65 73 74  deploytarg/mtest
3240: 20 3a 20 24 28 4f 46 49 4c 45 53 29 20 6d 65 67   : $(OFILES) meg
3250: 61 74 65 73 74 2e 6f 20 64 65 70 6c 6f 79 74 61  atest.o deployta
3260: 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 0a 09 63  rg/apropos.so..c
3270: 73 63 20 2d 64 65 70 6c 6f 79 20 24 28 43 53 43  sc -deploy $(CSC
3280: 4f 50 54 53 29 20 24 28 4f 46 49 4c 45 53 29 20  OPTS) $(OFILES) 
3290: 6d 65 67 61 74 65 73 74 2e 73 63 6d 20 2d 6f 20  megatest.scm -o 
32a0: 64 65 70 6c 6f 79 74 61 72 67 0a 09 6d 76 20 64  deploytarg..mv d
32b0: 65 70 6c 6f 79 74 61 72 67 2f 64 65 70 6c 6f 79  eploytarg/deploy
32c0: 74 61 72 67 20 64 65 70 6c 6f 79 74 61 72 67 2f  targ deploytarg/
32d0: 6d 74 65 73 74 0a 0a 64 65 70 6c 6f 79 74 61 72  mtest..deploytar
32e0: 67 2f 64 62 6f 61 72 64 20 3a 20 20 24 28 4f 46  g/dboard :  $(OF
32f0: 49 4c 45 53 29 20 24 28 47 4f 46 49 4c 45 53 29  ILES) $(GOFILES)
3300: 20 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 64   dashboard.scm d
3310: 65 70 6c 6f 79 74 61 72 67 2f 61 70 72 6f 70 6f  eploytarg/apropo
3320: 73 2e 73 6f 0a 09 63 73 63 20 2d 64 65 70 6c 6f  s.so..csc -deplo
3330: 79 20 24 28 4f 46 49 4c 45 53 29 20 24 28 47 4f  y $(OFILES) $(GO
3340: 46 49 4c 45 53 29 20 64 61 73 68 62 6f 61 72 64  FILES) dashboard
3350: 2e 73 63 6d 20 2d 6f 20 64 65 70 6c 6f 79 74 61  .scm -o deployta
3360: 72 67 0a 09 6d 76 20 64 65 70 6c 6f 79 74 61 72  rg..mv deploytar
3370: 67 2f 64 65 70 6c 6f 79 74 61 72 67 20 64 65 70  g/deploytarg dep
3380: 6c 6f 79 74 61 72 67 2f 64 62 6f 61 72 64 0a 0a  loytarg/dboard..
3390: 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e  datashare-testin
33a0: 67 2f 73 64 20 3a 20 64 61 74 61 73 68 61 72 65  g/sd : datashare
33b0: 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29 0a 09  .scm $(OFILES)..
33c0: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 64  csc $(CSCOPTS) d
33d0: 61 74 61 73 68 61 72 65 2e 73 63 6d 20 24 28 4f  atashare.scm $(O
33e0: 46 49 4c 45 53 29 20 2d 6f 20 64 61 74 61 73 68  FILES) -o datash
33f0: 61 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 0a 0a  are-testing/sd..
3400: 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e  datashare-testin
3410: 67 2f 73 64 61 74 3a 20 73 68 61 72 65 64 61 74  g/sdat: sharedat
3420: 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29 0a 09  .scm $(OFILES)..
3430: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 73  csc $(CSCOPTS) s
3440: 68 61 72 65 64 61 74 2e 73 63 6d 20 24 28 4f 46  haredat.scm $(OF
3450: 49 4c 45 53 29 20 2d 6f 20 64 61 74 61 73 68 61  ILES) -o datasha
3460: 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 61 74 0a  re-testing/sdat.
3470: 0a 73 64 20 3a 20 64 61 74 61 73 68 61 72 65 2d  .sd : datashare-
3480: 74 65 73 74 69 6e 67 2f 73 64 0a 09 6d 6b 64 69  testing/sd..mkdi
3490: 72 20 2d 70 20 2f 74 6d 70 2f 24 28 55 53 45 52  r -p /tmp/$(USER
34a0: 29 2f 64 61 74 61 73 68 61 72 65 2f 64 69 73 6b  )/datashare/disk
34b0: 31 20 2f 74 6d 70 2f 24 28 55 53 45 52 29 2f 62  1 /tmp/$(USER)/b
34c0: 61 73 65 70 61 74 68 0a 0a 78 74 65 72 6d 20 3a  asepath..xterm :
34d0: 20 73 64 0a 09 28 65 78 70 6f 72 74 20 42 41 53   sd..(export BAS
34e0: 45 50 41 54 48 3d 2f 74 6d 70 2f 24 28 55 53 45  EPATH=/tmp/$(USE
34f0: 52 29 2f 62 61 73 65 70 61 74 68 20 3b 20 65 78  R)/basepath ; ex
3500: 70 6f 72 74 20 50 41 54 48 3d 22 24 28 50 57 44  port PATH="$(PWD
3510: 29 2f 64 61 74 61 73 68 61 72 65 2d 74 65 73 74  )/datashare-test
3520: 69 6e 67 3a 24 28 50 41 54 48 29 22 20 3b 20 78  ing:$(PATH)" ; x
3530: 74 65 72 6d 20 26 29 0a 0a 64 61 74 61 73 68 61  term &)..datasha
3540: 72 65 2d 74 65 73 74 69 6e 67 2f 73 70 75 62 6c  re-testing/spubl
3550: 69 73 68 20 3a 20 73 70 75 62 6c 69 73 68 2e 73  ish : spublish.s
3560: 63 6d 20 24 28 4f 46 49 4c 45 53 29 0a 09 63 73  cm $(OFILES)..cs
3570: 63 20 24 28 43 53 43 4f 50 54 53 29 20 73 70 75  c $(CSCOPTS) spu
3580: 62 6c 69 73 68 2e 73 63 6d 20 20 6d 65 67 61 74  blish.scm  megat
3590: 65 73 74 2d 76 65 72 73 69 6f 6e 2e 6f 20 6d 61  est-version.o ma
35a0: 72 67 73 2e 6f 20 70 72 6f 63 65 73 73 2e 6f 20  rgs.o process.o 
35b0: 63 6f 6d 6d 6f 6e 2e 6f 20 20 2d 6f 20 64 61 74  common.o  -o dat
35c0: 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73  ashare-testing/s
35d0: 70 75 62 6c 69 73 68 0a 0a 64 61 74 61 73 68 61  publish..datasha
35e0: 72 65 2d 74 65 73 74 69 6e 67 2f 73 72 65 74 72  re-testing/sretr
35f0: 69 65 76 65 20 3a 20 73 72 65 74 72 69 65 76 65  ieve : sretrieve
3600: 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29 0a 09  .scm $(OFILES)..
3610: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 73  csc $(CSCOPTS) s
3620: 72 65 74 72 69 65 76 65 2e 73 63 6d 20 20 6d 65  retrieve.scm  me
3630: 67 61 74 65 73 74 2d 76 65 72 73 69 6f 6e 2e 6f  gatest-version.o
3640: 20 6d 61 72 67 73 2e 6f 20 70 72 6f 63 65 73 73   margs.o process
3650: 2e 6f 20 63 6f 6d 6d 6f 6e 2e 6f 20 20 2d 6f 20  .o common.o  -o 
3660: 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e  datashare-testin
3670: 67 2f 73 72 65 74 72 69 65 76 65 0a 0a 0a 64 61  g/sretrieve...da
3680: 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 2f  tashare-testing/
3690: 73 61 75 74 68 6f 72 69 7a 65 20 3a 20 73 61 75  sauthorize : sau
36a0: 74 68 6f 72 69 7a 65 2e 73 63 6d 20 24 28 4f 46  thorize.scm $(OF
36b0: 49 4c 45 53 29 0a 09 20 63 73 63 20 24 28 43 53  ILES).. csc $(CS
36c0: 43 4f 50 54 53 29 20 73 61 75 74 68 6f 72 69 7a  COPTS) sauthoriz
36d0: 65 2e 73 63 6d 20 20 6d 65 67 61 74 65 73 74 2d  e.scm  megatest-
36e0: 76 65 72 73 69 6f 6e 2e 6f 20 6d 61 72 67 73 2e  version.o margs.
36f0: 6f 20 70 72 6f 63 65 73 73 2e 6f 20 63 6f 6d 6d  o process.o comm
3700: 6f 6e 2e 6f 20 20 2d 6f 20 64 61 74 61 73 68 61  on.o  -o datasha
3710: 72 65 2d 74 65 73 74 69 6e 67 2f 73 61 75 74 68  re-testing/sauth
3720: 6f 72 69 7a 65 0a 0a 73 61 75 74 68 2d 69 6e 69  orize..sauth-ini
3730: 74 3a 0a 09 6d 6b 64 69 72 20 2d 70 20 20 64 61  t:..mkdir -p  da
3740: 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 0a  tashare-testing.
3750: 09 72 6d 20 20 64 61 74 61 73 68 61 72 65 2d 74  .rm  datashare-t
3760: 65 73 74 69 6e 67 2f 73 61 75 74 68 6f 72 69 7a  esting/sauthoriz
3770: 65 0a 09 72 6d 20 20 64 61 74 61 73 68 61 72 65  e..rm  datashare
3780: 2d 74 65 73 74 69 6e 67 2f 73 72 65 74 72 69 65  -testing/sretrie
3790: 76 65 20 0a 09 72 6d 20 20 64 61 74 61 73 68 61  ve ..rm  datasha
37a0: 72 65 2d 74 65 73 74 69 6e 67 2f 73 70 75 62 6c  re-testing/spubl
37b0: 69 73 68 0a 0a 73 61 75 74 68 20 3a 20 73 61 75  ish..sauth : sau
37c0: 74 68 2d 69 6e 69 74 20 64 61 74 61 73 68 61 72  th-init datashar
37d0: 65 2d 74 65 73 74 69 6e 67 2f 73 61 75 74 68 6f  e-testing/sautho
37e0: 72 69 7a 65 20 64 61 74 61 73 68 61 72 65 2d 74  rize datashare-t
37f0: 65 73 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65  esting/sretrieve
3800: 20 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69   datashare-testi
3810: 6e 67 2f 73 70 75 62 6c 69 73 68 20 0a 0a 72 65  ng/spublish ..re
3820: 61 64 6c 69 6e 65 2d 66 69 78 2e 73 63 6d 20 3a  adline-fix.scm :
3830: 0a 09 69 66 20 5b 5b 20 24 28 73 68 65 6c 6c 20  ..if [[ $(shell 
3840: 63 68 69 63 6b 65 6e 2d 73 74 61 74 75 73 20 7c  chicken-status |
3850: 20 67 72 65 70 20 72 65 61 64 6c 69 6e 65 20 7c   grep readline |
3860: 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 34 7d   awk '{print $4}
3870: 27 20 7c 20 63 75 74 20 2d 64 2e 20 2d 66 31 29  ' | cut -d. -f1)
3880: 20 2d 67 74 20 33 20 5d 5d 3b 74 68 65 6e 20 5c   -gt 3 ]];then \
3890: 0a 09 20 20 20 65 63 68 6f 20 22 28 64 65 66 69  ..   echo "(defi
38a0: 6e 65 20 2a 75 73 65 2d 6e 65 77 2d 72 65 61 64  ne *use-new-read
38b0: 6c 69 6e 65 2a 20 23 66 29 22 20 3e 20 72 65 61  line* #f)" > rea
38c0: 64 6c 69 6e 65 2d 66 69 78 2e 73 63 6d 3b 20 5c  dline-fix.scm; \
38d0: 0a 09 65 6c 73 65 20 5c 0a 09 20 20 20 65 63 68  ..else \..   ech
38e0: 6f 20 22 28 64 65 66 69 6e 65 20 2a 75 73 65 2d  o "(define *use-
38f0: 6e 65 77 2d 72 65 61 64 6c 69 6e 65 2a 20 23 74  new-readline* #t
3900: 29 22 20 3e 20 72 65 61 64 6c 69 6e 65 2d 66 69  )" > readline-fi
3910: 78 2e 73 63 6d 3b 5c 0a 09 66 69 0a 0a 61 6c 74  x.scm;\..fi..alt
3920: 64 62 2e 73 63 6d 20 3a 0a 09 65 63 68 6f 20 22  db.scm :..echo "
3930: 3b 3b 20 6f 70 74 69 6f 6e 61 6c 20 61 6c 74 65  ;; optional alte
3940: 72 6e 61 74 65 20 64 62 20 73 65 74 75 70 22 20  rnate db setup" 
3950: 3e 20 61 6c 74 64 62 2e 73 63 6d 0a 09 65 63 68  > altdb.scm..ech
3960: 6f 20 22 28 64 65 66 69 6e 65 20 2a 61 76 61 69  o "(define *avai
3970: 6c 61 62 6c 65 2d 64 62 2a 20 28 6d 61 6b 65 2d  lable-db* (make-
3980: 68 61 73 68 2d 74 61 62 6c 65 29 29 22 20 3e 3e  hash-table))" >>
3990: 20 61 6c 74 64 62 2e 73 63 6d 0a 09 69 66 20 20   altdb.scm..if  
39a0: 63 73 69 20 2d 6e 65 20 27 28 75 73 65 20 6d 79  csi -ne '(use my
39b0: 73 71 6c 2d 63 6c 69 65 6e 74 29 27 3b 74 68 65  sql-client)';the
39c0: 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 65  n \.           e
39d0: 63 68 6f 20 22 28 75 73 65 20 6d 79 73 71 6c 2d  cho "(use mysql-
39e0: 63 6c 69 65 6e 74 29 28 68 61 73 68 2d 74 61 62  client)(hash-tab
39f0: 6c 65 2d 73 65 74 21 20 2a 61 76 61 69 6c 61 62  le-set! *availab
3a00: 6c 65 2d 64 62 2a 20 27 6d 79 73 71 6c 20 23 74  le-db* 'mysql #t
3a10: 29 22 20 3e 3e 20 61 6c 74 64 62 2e 73 63 6d 3b  )" >> altdb.scm;
3a20: 20 5c 0a 09 66 69 0a 09 69 66 20 63 73 69 20 2d   \..fi..if csi -
3a30: 6e 65 20 27 28 75 73 65 20 70 6f 73 74 67 72 65  ne '(use postgre
3a40: 73 71 6c 29 27 3b 74 68 65 6e 20 5c 0a 09 20 20  sql)';then \..  
3a50: 20 65 63 68 6f 20 22 28 75 73 65 20 70 6f 73 74   echo "(use post
3a60: 67 72 65 73 71 6c 29 28 68 61 73 68 2d 74 61 62  gresql)(hash-tab
3a70: 6c 65 2d 73 65 74 21 20 2a 61 76 61 69 6c 61 62  le-set! *availab
3a80: 6c 65 2d 64 62 2a 20 27 70 6f 73 74 67 72 65 73  le-db* 'postgres
3a90: 71 6c 20 23 74 29 22 20 3e 3e 20 61 6c 74 64 62  ql #t)" >> altdb
3aa0: 2e 73 63 6d 3b 5c 0a 09 66 69 0a 0a 62 75 69 6c  .scm;\..fi..buil
3ab0: 64 6d 61 6e 75 61 6c 3a 0a 09 63 64 20 64 6f 63  dmanual:..cd doc
3ac0: 73 2f 6d 61 6e 75 61 6c 20 26 26 20 6d 61 6b 65  s/manual && make
3ad0: 0a 0a 76 69 65 77 6d 61 6e 75 61 6c 3a 0a 09 61  ..viewmanual:..a
3ae0: 72 6f 72 61 20 64 6f 63 73 2f 6d 61 6e 75 61 6c  rora docs/manual
3af0: 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75 61 6c  /megatest_manual
3b00: 2e 68 74 6d 6c 0a 0a 74 61 72 67 65 74 73 3a 0a  .html..targets:.
3b10: 09 40 67 72 65 70 20 3a 20 4d 61 6b 65 66 69 6c  .@grep : Makefil
3b20: 65 20 7c 20 70 65 72 6c 20 2d 6e 65 20 27 2f 5e  e | perl -ne '/^
3b30: 28 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2d 5d 2b 29  ([A-Za-z0-9_-]+)
3b40: 3a 2f 20 26 26 20 70 72 69 6e 74 20 22 24 24 31  :/ && print "$$1
3b50: 5c 6e 22 27 0a 0a 0a 75 6e 69 74 20 3a 0a 09 63  \n"'...unit :..c
3b60: 64 20 74 65 73 74 73 3b 6d 61 6b 65 20 75 6e 69  d tests;make uni
3b70: 74 0a 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  t..#============
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 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3bb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 23 20 41 74 74  ==========.# Att
3bc0: 69 63 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ic.#============
3bd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
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 0a 0a 23 20 70 6f  ==========..# po
3c10: 72 74 6c 6f 67 67 65 72 2d 65 78 61 6d 70 6c 65  rtlogger-example
3c20: 20 3a 20 70 6f 72 74 6c 6f 67 67 65 72 2d 65 78   : portlogger-ex
3c30: 61 6d 70 6c 65 2e 73 63 6d 20 61 70 69 2e 6f 20  ample.scm api.o 
3c40: 61 72 63 68 69 76 65 2e 6f 20 63 6c 69 65 6e 74  archive.o client
3c50: 2e 6f 20 63 6f 6d 6d 6f 6e 2e 6f 20 63 6f 6e 66  .o common.o conf
3c60: 69 67 66 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d  igf.o dashboard-
3c70: 74 65 73 74 73 2e 6f 20 64 61 73 68 62 6f 61 72  tests.o dashboar
3c80: 64 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e 6f  d-context-menu.o
3c90: 20 64 62 2e 6f 20 64 63 6f 6d 6d 6f 6e 2e 6f 20   db.o dcommon.o 
3ca0: 65 7a 73 74 65 70 73 2e 6f 20 66 69 6c 65 64 62  ezsteps.o filedb
3cb0: 2e 6f 20 67 65 6e 65 78 61 6d 70 6c 65 2e 6f 20  .o genexample.o 
3cc0: 67 75 74 69 6c 73 2e 6f 20 68 74 74 70 2d 74 72  gutils.o http-tr
3cd0: 61 6e 73 70 6f 72 74 2e 6f 20 69 74 65 6d 73 2e  ansport.o items.
3ce0: 6f 20 6b 65 79 73 2e 6f 20 6c 61 75 6e 63 68 2e  o keys.o launch.
3cf0: 6f 20 6c 6f 63 6b 2d 71 75 65 75 65 2e 6f 20 6d  o lock-queue.o m
3d00: 61 72 67 73 2e 6f 20 6d 65 67 61 74 65 73 74 2d  args.o megatest-
3d10: 76 65 72 73 69 6f 6e 2e 6f 20 6d 74 2e 6f 20 6f  version.o mt.o o
3d20: 64 73 2e 6f 20 70 6f 72 74 6c 6f 67 67 65 72 2e  ds.o portlogger.
3d30: 6f 20 70 72 6f 63 65 73 73 2e 6f 20 72 6d 74 2e  o process.o rmt.
3d40: 6f 20 72 70 63 2d 74 72 61 6e 73 70 6f 72 74 2e  o rpc-transport.
3d50: 6f 20 72 75 6e 63 6f 6e 66 69 67 2e 6f 20 72 75  o runconfig.o ru
3d60: 6e 73 2e 6f 20 73 64 62 2e 6f 20 73 65 72 76 65  ns.o sdb.o serve
3d70: 72 2e 6f 20 73 79 6e 63 68 61 73 68 2e 6f 20 74  r.o synchash.o t
3d80: 61 73 6b 73 2e 6f 20 74 64 62 2e 6f 20 74 65 73  asks.o tdb.o tes
3d90: 74 73 2e 6f 20 74 72 65 65 2e 6f 0a 23 09 63 73  ts.o tree.o.#.cs
3da0: 63 20 24 28 43 53 43 4f 50 54 53 29 20 70 6f 72  c $(CSCOPTS) por
3db0: 74 6c 6f 67 67 65 72 2d 65 78 61 6d 70 6c 65 2e  tlogger-example.
3dc0: 73 63 6d 20 61 70 69 2e 6f 20 61 72 63 68 69 76  scm api.o archiv
3dd0: 65 2e 6f 20 63 6c 69 65 6e 74 2e 6f 20 63 6f 6d  e.o client.o com
3de0: 6d 6f 6e 2e 6f 20 63 6f 6e 66 69 67 66 2e 6f 20  mon.o configf.o 
3df0: 64 61 73 68 62 6f 61 72 64 2d 74 65 73 74 73 2e  dashboard-tests.
3e00: 6f 20 64 61 73 68 62 6f 61 72 64 2d 63 6f 6e 74  o dashboard-cont
3e10: 65 78 74 2d 6d 65 6e 75 2e 6f 20 64 62 2e 6f 20  ext-menu.o db.o 
3e20: 64 63 6f 6d 6d 6f 6e 2e 6f 20 65 7a 73 74 65 70  dcommon.o ezstep
3e30: 73 2e 6f 20 66 69 6c 65 64 62 2e 6f 20 67 65 6e  s.o filedb.o gen
3e40: 65 78 61 6d 70 6c 65 2e 6f 20 67 75 74 69 6c 73  example.o gutils
3e50: 2e 6f 20 68 74 74 70 2d 74 72 61 6e 73 70 6f 72  .o http-transpor
3e60: 74 2e 6f 20 69 74 65 6d 73 2e 6f 20 6b 65 79 73  t.o items.o keys
3e70: 2e 6f 20 6c 61 75 6e 63 68 2e 6f 20 6c 6f 63 6b  .o launch.o lock
3e80: 2d 71 75 65 75 65 2e 6f 20 6d 61 72 67 73 2e 6f  -queue.o margs.o
3e90: 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f   megatest-versio
3ea0: 6e 2e 6f 20 6d 74 2e 6f 20 6f 64 73 2e 6f 20 70  n.o mt.o ods.o p
3eb0: 6f 72 74 6c 6f 67 67 65 72 2e 6f 20 70 72 6f 63  ortlogger.o proc
3ec0: 65 73 73 2e 6f 20 72 6d 74 2e 6f 20 72 70 63 2d  ess.o rmt.o rpc-
3ed0: 74 72 61 6e 73 70 6f 72 74 2e 6f 20 72 75 6e 63  transport.o runc
3ee0: 6f 6e 66 69 67 2e 6f 20 72 75 6e 73 2e 6f 20 73  onfig.o runs.o s
3ef0: 64 62 2e 6f 20 73 65 72 76 65 72 2e 6f 20 73 79  db.o server.o sy
3f00: 6e 63 68 61 73 68 2e 6f 20 74 61 73 6b 73 2e 6f  nchash.o tasks.o
3f10: 20 74 64 62 2e 6f 20 74 65 73 74 73 2e 6f 20 74   tdb.o tests.o t
3f20: 72 65 65 2e 6f 0a 0a 23 20 63 72 65 61 74 65 20  ree.o..# create 
3f30: 61 20 70 64 66 20 64 6f 74 20 67 72 61 70 68 76  a pdf dot graphv
3f40: 69 7a 20 64 69 61 67 72 61 6d 20 66 72 6f 6d 20  iz diagram from 
3f50: 6e 6f 74 61 74 69 6f 6e 73 20 69 6e 20 72 6d 74  notations in rmt
3f60: 2e 73 63 6d 0a 23 20 72 6d 74 2e 70 64 66 20 3a  .scm.# rmt.pdf :
3f70: 20 72 6d 74 2e 73 63 6d 0a 23 09 67 72 65 70 20   rmt.scm.#.grep 
3f80: 27 3b 3b 44 4f 54 27 20 72 6d 74 2e 73 63 6d 20  ';;DOT' rmt.scm 
3f90: 7c 20 73 65 64 20 2d 65 20 27 73 2f 2e 2a 3b 3b  | sed -e 's/.*;;
3fa0: 44 4f 54 20 2f 2f 27 20 3e 20 72 6d 74 2e 64 6f  DOT //' > rmt.do
3fb0: 74 3b 64 6f 74 20 2d 54 70 64 66 20 72 6d 74 2e  t;dot -Tpdf rmt.
3fc0: 64 6f 74 20 2d 6f 20 72 6d 74 2e 70 64 66 0a 0a  dot -o rmt.pdf..
3fd0: 23 20 77 69 6b 69 70 61 67 65 3d 70 6c 61 6e 0a  # wikipage=plan.
3fe0: 23 20 65 64 69 74 77 69 6b 69 3a 0a 23 09 63 64  # editwiki:.#.cd
3ff0: 20 64 6f 63 73 2f 6d 61 6e 75 61 6c 20 26 26 20   docs/manual && 
4000: 2e 2e 2f 2e 2e 2f 75 74 69 6c 73 2f 65 64 69 74  ../../utils/edit
4010: 77 69 6b 69 20 24 28 77 69 6b 69 70 61 67 65 29  wiki $(wikipage)
4020: 0a 0a 23 20 62 61 73 65 36 34 20 64 6f 74 2d 6c  ..# base64 dot-l
4030: 6f 63 6b 69 6e 67 20 5c 0a 23 20 20 20 20 20 20  ocking \.#      
4040: 20 20 20 20 20 20 20 63 73 76 2d 78 6d 6c 20 7a         csv-xml z
4050: 33 0a 0a 23 20 20 22 28 64 65 66 69 6e 65 20 28  3..#  "(define (
4060: 74 6f 70 6c 65 76 65 6c 2d 63 6f 6d 6d 61 6e 64  toplevel-command
4070: 20 2e 20 61 29 20 23 66 29 22 0a 23 20 69 66 20   . a) #f)".# if 
4080: 65 67 72 65 70 20 27 76 65 72 73 69 6f 6e 2e 2a  egrep 'version.*
4090: 33 2e 30 27 20 24 28 73 68 65 6c 6c 20 64 69 72  3.0' $(shell dir
40a0: 6e 61 6d 65 20 24 28 73 68 65 6c 6c 20 64 69 72  name $(shell dir
40b0: 6e 61 6d 65 20 24 28 73 68 65 6c 6c 20 77 68 69  name $(shell whi
40c0: 63 68 20 63 73 69 29 29 29 2f 6c 69 62 2f 63 68  ch csi)))/lib/ch
40d0: 69 63 6b 65 6e 2f 37 2f 72 65 61 64 6c 69 6e 65  icken/7/readline
40e0: 2e 73 65 74 75 70 2d 69 6e 66 6f 3b 74 68 65 6e  .setup-info;then
40f0: 20 5c 0a 0a 23 20 44 41 54 41 53 48 41 52 45 4f   \..# DATASHAREO
4100: 3d 63 6f 6e 66 69 67 66 2e 6f 20 63 6f 6d 6d 6f  =configf.o commo
4110: 6e 2e 6f 20 70 72 6f 63 65 73 73 2e 6f 20 74 72  n.o process.o tr
4120: 65 65 2e 6f 20 64 63 6f 6d 6d 6f 6e 2e 6f 20 6d  ee.o dcommon.o m
4130: 61 72 67 73 2e 6f 20 6c 61 75 6e 63 68 2e 6f 20  args.o launch.o 
4140: 67 75 74 69 6c 73 2e 6f 20 64 62 2e 6f 20 73 79  gutils.o db.o sy
4150: 6e 63 68 61 73 68 2e 6f 20 73 65 72 76 65 72 2e  nchash.o server.
4160: 6f 20 5c 0a 23 20 20 20 20 20 20 20 20 20 20 20  o \.#           
4170: 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f   megatest-versio
4180: 6e 2e 6f 20 74 64 62 2e 6f 20 6f 64 73 2e 6f 20  n.o tdb.o ods.o 
4190: 6d 74 2e 6f 20 6b 65 79 73 2e 6f 0a 0a 23 20 64  mt.o keys.o..# d
41a0: 65 70 6c 6f 79 74 61 72 67 2f 6c 69 62 69 75 70  eploytarg/libiup
41b0: 63 64 2e 73 6f 20 3a 20 24 28 43 4b 50 41 54 48  cd.so : $(CKPATH
41c0: 29 2f 6c 69 62 2f 6c 69 62 69 75 70 63 64 2e 73  )/lib/libiupcd.s
41d0: 6f 0a 23 20 09 66 6f 72 20 69 20 69 6e 20 69 75  o.# .for i in iu
41e0: 70 20 69 6d 20 63 64 20 61 76 20 63 61 6c 6c 20  p im cd av call 
41f0: 73 71 6c 69 74 65 3b 20 64 6f 20 5c 0a 23 20 09  sqlite; do \.# .
4200: 20 20 63 70 20 24 28 43 4b 50 41 54 48 29 2f 6c    cp $(CKPATH)/l
4210: 69 62 2f 6c 69 62 24 24 69 2a 20 64 65 70 6c 6f  ib/lib$$i* deplo
4220: 79 74 61 72 67 2f 20 3b 20 5c 0a 23 20 09 64 6f  ytarg/ ; \.# .do
4230: 6e 65 0a 23 20 09 63 70 20 24 28 43 4b 50 41 54  ne.# .cp $(CKPAT
4240: 48 29 2f 69 6e 63 6c 75 64 65 2f 2a 2e 68 20 64  H)/include/*.h d
4250: 65 70 6c 6f 79 74 61 72 67 0a 0a 23 09 66 6f 72  eploytarg..#.for
4260: 20 69 20 69 6e 20 61 70 72 6f 70 6f 73 20 62 61   i in apropos ba
4270: 73 65 36 34 20 63 61 6e 76 61 73 2d 64 72 61 77  se64 canvas-draw
4280: 20 63 73 76 2d 78 6d 6c 20 64 69 72 65 63 74 6f   csv-xml directo
4290: 72 79 2d 75 74 69 6c 73 20 64 6f 74 2d 6c 6f 63  ry-utils dot-loc
42a0: 6b 69 6e 67 20 65 78 74 72 61 73 20 66 6d 74 20  king extras fmt 
42b0: 66 6f 72 6d 61 74 20 68 6f 73 74 69 6e 66 6f 20  format hostinfo 
42c0: 68 74 74 70 2d 63 6c 69 65 6e 74 20 69 6e 74 61  http-client inta
42d0: 72 77 65 62 20 6a 73 6f 6e 20 6d 64 35 20 6d 65  rweb json md5 me
42e0: 73 73 61 67 65 2d 64 69 67 65 73 74 20 70 6f 73  ssage-digest pos
42f0: 69 78 20 70 6f 73 69 78 2d 65 78 74 72 61 73 20  ix posix-extras 
4300: 72 65 61 64 6c 69 6e 65 20 72 65 67 65 78 20 72  readline regex r
4310: 65 67 65 78 2d 63 61 73 65 20 73 31 31 6e 20 73  egex-case s11n s
4320: 70 69 66 66 79 20 73 70 69 66 66 79 2d 72 65 71  piffy spiffy-req
4330: 75 65 73 74 2d 76 61 72 73 20 73 71 6c 69 74 65  uest-vars sqlite
4340: 33 20 73 72 66 69 2d 31 20 73 72 66 69 2d 31 38  3 srfi-1 srfi-18
4350: 20 73 72 66 69 2d 36 39 20 74 63 70 20 74 65 73   srfi-69 tcp tes
4360: 74 20 75 72 69 2d 63 6f 6d 6d 6f 6e 20 63 68 65  t uri-common che
4370: 63 6b 2d 65 72 72 6f 72 73 20 73 79 6e 63 68 20  ck-errors synch 
4380: 6d 61 74 63 68 61 62 6c 65 20 73 71 6c 2d 6e 75  matchable sql-nu
4390: 6c 6c 20 74 63 70 2d 73 65 72 76 65 72 20 72 70  ll tcp-server rp
43a0: 63 20 62 6c 6f 62 2d 75 74 69 6c 73 20 73 74 72  c blob-utils str
43b0: 69 6e 67 2d 75 74 69 6c 73 20 76 61 72 69 61 62  ing-utils variab
43c0: 6c 65 2d 69 74 65 6d 20 64 65 66 73 74 72 75 63  le-item defstruc
43d0: 74 20 75 72 69 2d 67 65 6e 65 72 69 63 20 73 65  t uri-generic se
43e0: 6e 64 66 69 6c 65 20 6f 70 65 6e 73 6c 6c 20 6f  ndfile opensll o
43f0: 70 65 6e 73 73 6c 20 6c 6f 6f 6b 75 70 2d 74 61  penssl lookup-ta
4400: 62 6c 65 20 6c 69 73 74 2d 75 74 69 6c 73 20 73  ble list-utils s
4410: 74 61 63 6b 3b 20 64 6f 20 5c 0a 23 09 63 68 69  tack; do \.#.chi
4420: 63 6b 65 6e 2d 69 6e 73 74 61 6c 6c 20 2d 70 72  cken-install -pr
4430: 65 66 69 78 20 64 65 70 6c 6f 79 74 61 72 67 20  efix deploytarg 
4440: 2d 64 65 70 6c 6f 79 20 24 24 69 3b 64 6f 6e 65  -deploy $$i;done
4450: 0a 0a 23 20 64 65 70 6c 6f 79 74 61 72 67 2f 6c  ..# deploytarg/l
4460: 69 62 73 71 6c 69 74 65 33 2e 73 6f 20 3a 20 0a  ibsqlite3.so : .
4470: 23 20 09 43 53 43 5f 4f 50 54 49 4f 4e 53 3d 22  # .CSC_OPTIONS="
4480: 2d 49 64 65 70 6c 6f 79 74 61 72 67 20 2d 4c 64  -Ideploytarg -Ld
4490: 65 70 6c 6f 79 74 61 72 67 22 20 24 43 48 49 43  eploytarg" $CHIC
44a0: 4b 45 4e 5f 49 4e 53 54 41 4c 4c 20 2d 70 72 65  KEN_INSTALL -pre
44b0: 66 69 78 20 64 65 70 6c 6f 79 74 61 72 67 20 2d  fix deploytarg -
44c0: 64 65 70 6c 6f 79 20 73 71 6c 69 74 65 33 0a 0a  deploy sqlite3..
44d0: 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  #===============
44e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
44f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
4500: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
4510: 3d 3d 3d 3d 3d 3d 3d 0a 23 20 4d 61 6b 65 20 74  =======.# Make t
4520: 68 65 20 72 65 63 6f 72 64 73 20 66 69 6c 65 73  he records files
4530: 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  .#==============
4540: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
4550: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
4560: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
4570: 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 23 20 76 67 5f 72  ========..# vg_r
4580: 65 63 6f 72 64 73 2e 73 63 6d 20 3a 20 72 65 63  ecords.scm : rec
4590: 6f 72 64 73 2e 73 68 0a 23 09 2e 2f 72 65 63 6f  ords.sh.#../reco
45a0: 72 64 73 2e 73 68 0a 0a 23 20 24 28 50 52 45 46  rds.sh..# $(PREF
45b0: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
45c0: 54 52 29 2f 6d 64 62 6f 61 72 64 20 3a 20 6d 75  TR)/mdboard : mu
45d0: 6c 74 69 2d 64 62 6f 61 72 64 0a 23 09 24 28 49  lti-dboard.#.$(I
45e0: 4e 53 54 41 4c 4c 29 20 6d 75 6c 74 69 2d 64 62  NSTALL) multi-db
45f0: 6f 61 72 64 20 24 28 50 52 45 46 49 58 29 2f 62  oard $(PREFIX)/b
4600: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d  in/.$(ARCHSTR)/m
4610: 64 62 6f 61 72 64 0a 0a 23 20 24 28 50 52 45 46  dboard..# $(PREF
4620: 49 58 29 2f 62 69 6e 2f 6d 64 62 6f 61 72 64 20  IX)/bin/mdboard 
4630: 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  : $(PREFIX)/bin/
4640: 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 64 62 6f  .$(ARCHSTR)/mdbo
4650: 61 72 64 20 20 75 74 69 6c 73 2f 6d 6b 5f 77 72  ard  utils/mk_wr
4660: 61 70 70 65 72 0a 23 20 09 75 74 69 6c 73 2f 6d  apper.# .utils/m
4670: 6b 5f 77 72 61 70 70 65 72 20 24 28 50 52 45 46  k_wrapper $(PREF
4680: 49 58 29 20 6d 64 62 6f 61 72 64 20 24 28 50 52  IX) mdboard $(PR
4690: 45 46 49 58 29 2f 62 69 6e 2f 6d 64 62 6f 61 72  EFIX)/bin/mdboar
46a0: 64 0a 23 20 09 63 68 6d 6f 64 20 61 2b 78 20 24  d.# .chmod a+x $
46b0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 64 62  (PREFIX)/bin/mdb
46c0: 6f 61 72 64 0a 0a 23 20 24 28 48 45 4c 50 45 52  oard..# $(HELPER
46d0: 53 29 20 3a 20 75 74 69 6c 73 2f 25 0a 23 20 09  S) : utils/%.# .
46e0: 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40  $(INSTALL) $< $@
46f0: 0a 23 20 09 63 68 6d 6f 64 20 61 2b 78 20 24 40  .# .chmod a+x $@
4700: 0a 0a 23 20 41 52 43 48 53 54 52 3d 24 28 73 68  ..# ARCHSTR=$(sh
4710: 65 6c 6c 20 75 6e 61 6d 65 20 2d 6d 29 5f 24 28  ell uname -m)_$(
4720: 73 68 65 6c 6c 20 75 6e 61 6d 65 20 2d 72 29 0a  shell uname -r).
4730: 23 20 42 41 53 48 5f 4d 41 43 48 54 59 50 45 3d  # BASH_MACHTYPE=
4740: 24 28 73 68 65 6c 6c 20 62 61 73 68 20 2d 63 20  $(shell bash -c 
4750: 22 65 63 68 6f 20 5c 24 24 4d 41 43 48 54 59 50  "echo \$$MACHTYP
4760: 45 22 29 0a 23 20 41 52 43 48 53 54 52 3d 24 28  E").# ARCHSTR=$(
4770: 42 41 53 48 5f 4d 41 43 48 54 59 50 45 29 5f 24  BASH_MACHTYPE)_$
4780: 28 73 68 65 6c 6c 20 6c 73 62 5f 72 65 6c 65 61  (shell lsb_relea
4790: 73 65 20 2d 73 72 29 0a                          se -sr).