Index: Makefile
==================================================================
--- Makefile
+++ Makefile
@@ -28,14 +28,14 @@
PREFIX=$(PWD)
CSCOPTS=
INSTALL=install
SRCFILES = runconfig.scm \
server.scm keys.scm \
- ezsteps.scm api.scm \
+ ezsteps.scm \
archive.scm env.scm
-# cgisetup/models/pgdb.scm
+pgdb.scm : cgisetup/models/pgdb.scm
# module source files
MSRCFILES = dbfile.scm debugprint.scm mtargs.scm commonmod.scm dbmod.scm \
tcp-transportmod.scm rmtmod.scm portlogger.scm apimod.scm \
configfmod.scm processmod.scm servermod.scm megatestmod.scm \
@@ -49,51 +49,93 @@
cp transport-mode.scm.template transport-mode.scm
dashboard-transport-mode.scm : dashboard-transport-mode.scm.template
cp dashboard-transport-mode.scm.template dashboard-transport-mode.scm
-mtest : transport-mode.scm
+mtest : transport-mode.scm unitdeps.pdf
dboard : dashboard-transport-mode.scm
+# include the generated dependencies
+include make.inc
+
+make.inc : megatest-fossil-hash.scm
+mofiles/mtargs.o mofiles/cookie.o : make.inc
+megatest.o : megatest-fossil-hash.scm megatest-version.scm $(MOFILES) $(MOIMPFILES)
+
+# special cases due to source files not in current directory
+mofiles/pgdb.o : mofiles/configfmod.o mofiles/mtargs.o mofiles/debugprint.o
+
# dbmod.import.o is just a hack here
-mofiles/mtbody.o : mofiles/launchmod.o readline-fix.scm mofiles/envmod.o mofiles/genexample.o mofiles/mutils.o mofiles/diff-report.o mofiles/tdb.o
-mofiles/dcommon.o : mofiles/vgmod.o
-process.o : mofiles/processmod.o
-mofiles/configfmod.o : mofiles/processmod.o
-mofiles/processmod.o : mofiles/commonmod.o
-mofiles/servermod.o : mofiles/commonmod.o
-mofiles/rmtmod.o : mofiles/mtmod.o mofiles/apimod.o
-mofiles/dbmod.o : mofiles/mtmod.o
-# mofiles/mtmod.o : mofiles/tcp-transportmod.o
-mofiles/megatestmod.o : mofiles/pkts.o mofiles/servermod.o mofiles/fsmod.o
-# mofiles/mtmod.o : mofiles/testsmod.o
-mofiles/subrunmod.o : mofiles/tasksmod.o
-mofiles/dcommon.o : mofiles/tasksmod.o
-mofiles/launchmod.o : mofiles/subrunmod.o mofiles/runsmod.o
-mofiles/launchmod.o : mofiles/ezstepsmod.o
-mofiles/runsmod.o : mofiles/archivemod.o
-mofiles/testsmod.o : mofiles/dbmod.o
-
-mofiles/dbfile.o : \
- mofiles/debugprint.o mofiles/commonmod.o mofiles/configfmod.o
-mofiles/apimod.o : mofiles/commonmod.o mofiles/tcp-transportmod.o mofiles/configfmod.o mofiles/megatestmod.o
-mofiles/dbmod.o : mofiles/dbfile.o
-mofiles/api.o : mofiles/apimod.o
-mofiles/commonmod.o : mofiles/debugprint.o mofiles/stml2.o
-mofiles/dbfile.o : mofiles/debugprint.o
-mofiles/rmtmod.o mofiles/dbmod.o : mofiles/dbfile.o mofiles/commonmod.o mofiles/debugprint.o
-db.o : mofiles/dbmod.o mofiles/dbfile.o
-mofiles/debugprint.o : mofiles/mtargs.o
-mofiles/tcp-transportmod.o : mofiles/portlogger.o
-mofiles/tasksmod.o : mofiles/rmtmod.o mofiles/pgdb.o
-mofiles/fsmod.o : mofiles/debugprint.o
-
-# ftail.scm rmtmod.scm commonmod.scm removed
-# MSRCFILES = ducttape-lib.scm pkts.scm stml2.scm cookie.scm mutils.scm \
-# mtargs.scm commonmod.scm dbmod.scm adjutant.scm ulex.scm \
-# rmtmod.scm apimod.scm
+# mofiles/mtbody.o : mofiles/launchmod.o readline-fix.scm mofiles/envmod.o mofiles/genexample.o mofiles/mutils.o mofiles/diff-report.o mofiles/tdb.o
+# mofiles/dcommon.o : mofiles/vgmod.o
+# process.o : mofiles/processmod.o
+# mofiles/configfmod.o : mofiles/processmod.o
+# mofiles/processmod.o : mofiles/commonmod.o
+# mofiles/servermod.o : mofiles/commonmod.o
+# mofiles/rmtmod.o : mofiles/mtmod.o mofiles/apimod.o
+# mofiles/dbmod.o : mofiles/mtmod.o
+# mofiles/megatestmod.o : mofiles/pkts.o mofiles/servermod.o mofiles/fsmod.o
+# mofiles/subrunmod.o : mofiles/tasksmod.o
+# mofiles/dcommon.o : mofiles/tasksmod.o
+# mofiles/launchmod.o : mofiles/subrunmod.o mofiles/runsmod.o
+# mofiles/launchmod.o : mofiles/ezstepsmod.o
+# mofiles/runsmod.o : mofiles/archivemod.o
+# mofiles/testsmod.o : mofiles/dbmod.o
+# mofiles/dbfile.o : \
+# mofiles/debugprint.o mofiles/commonmod.o mofiles/configfmod.o
+# mofiles/apimod.o : mofiles/commonmod.o mofiles/tcp-transportmod.o mofiles/configfmod.o mofiles/megatestmod.o
+# mofiles/dbmod.o : mofiles/dbfile.o
+# mofiles/api.o : mofiles/apimod.o
+# mofiles/commonmod.o : mofiles/debugprint.o mofiles/stml2.o
+# mofiles/dbfile.o : mofiles/debugprint.o
+# mofiles/rmtmod.o mofiles/dbmod.o : mofiles/dbfile.o mofiles/commonmod.o mofiles/debugprint.o
+# db.o : mofiles/dbmod.o mofiles/dbfile.o
+# mofiles/debugprint.o : mofiles/mtargs.o
+# mofiles/tcp-transportmod.o : mofiles/portlogger.o
+# mofiles/tasksmod.o : mofiles/rmtmod.o mofiles/pgdb.o
+# mofiles/fsmod.o : mofiles/debugprint.o
+# mofiles/commonmod.o : mofiles/debugprint.o megatest-fossil-hash.scm
+# common.o : mofiles/commonmod.o
+# mofiles/configfmod.o : mofiles/commonmod.o configf-guts.scm
+#
+# tests.o db.o launch.o \
+# dashboard-guimonitor.o dashboard-main.o \
+# monitor.o dashboard.o archive.o megatest.o : db_records.scm megatest-fossil-hash.scm
+#
+# tests.o dashboard.o dashboard-main.o : run_records.scm
+#
+# db.o ezsteps.o keys.o launch.o megatest.o monitor.o tests.o : key_records.scm
+# db.o api.o : mofiles/dbmod.o mofiles/dbfile.o mofiles/debugprint.o mofiles/commonmod.o dbmod.import.o
+# common.scm configf.scm dashboard-guimonitor.scm dashboard.scm dcommon.scm ezsteps.scm index-tree.scm keys.scm launch.scm megatest.scm monitor.scm mt.scm newdashboard.scm runconfig.scm server.scm tdb.scm : common_records.scm megatest-version.scm
+#
+# common_records.scm : altdb.scm
+#
+# mofiles/dbfile.o : mofiles/commonmod.o
+#
+# # mofiles/stml2.o : mofiles/cookie.o
+# # configf.o : mofiles/commonmod.o
+#
+# dashboard.o : megatest-version.scm
+#
+# dcommon.o : run_records.scm
+#
+# mofiles/stml2.o : mofiles/cookie.o
+#
+# # # special include based modules
+# # mofiles/pkts.o : pkts/pkts.scm
+# # mofiles/stml2.o : cookie.o
+# # # mofiles/mtargs.o : mtargs/mtargs.scm
+# # # mofiles/mtconfigf.o : mtconfigf/mtconfigf.scm
+# # mofiles/ulex.o : ulex/ulex.scm
+# # mofiles/mutils.o : mutils/mutils.scm
+# # mofiles/cookie.o : stml2/cookie.scm
+# # mofiles/stml2.o : stml2/stml2.scm
+#
+# # for the modularized stuff
+# mofiles/rmtmod.o : mofiles/commonmod.o
+#
GUISRCF = dashboard-guimonitor.scm
OFILES = $(SRCFILES:%.scm=%.o)
GOFILES = $(GUISRCF:%.scm=%.o)
@@ -103,17 +145,10 @@
MOIMPFILES = $(MSRCFILES:%.scm=%.import.o)
%.import.o : %.import.scm
csc $(CSCOPTS) -unit $*.import -c $*.import.scm -o $*.import.o
-# I'm not sure the cp is a good idea, changed a lot of things and it may not have been necessary...
-# mofiles/%.o %.import.scm : %.scm megatest-fossil-hash.scm
-# @[ -e mofiles ] || mkdir -p mofiles
-# csc $(CSCOPTS) -I mofiles -I $* -J -c $< -o $*.o
-# cp $*.o mofiles/$*.o
-# @touch $*.import.scm # ensure it is touched after the .o is made
-
%.import.scm mofiles/%.o : %.scm
@mkdir -p mofiles
csc $(CSCOPTS) -J -c $< -o mofiles/$*.o
@if [[ -e $*.import.scm ]];then touch $*.import.scm;fi # ensure it is touched after the .o is made
@@ -124,17 +159,11 @@
ifeq ($(MTESTHASH),)
$(error MTESTHASH is broken!)
endif
-# CSIPATH=$(shell which csi)
-# CKPATH=$(shell dirname $(shell dirname $(CSIPATH)))
-# ARCHSTR=$(shell uname -m)_$(shell uname -r)
-# BASH_MACHTYPE=$(shell bash -c "echo \$$MACHTYPE")
-# ARCHSTR=$(BASH_MACHTYPE)_$(shell lsb_release -sr)
ARCHSTR=$(shell if [[ -e /usr/bin/sw_vers ]]; then /usr/bin/sw_vers -productVersion; else lsb_release -sr; fi)
-# ARCHSTR=$(shell bash -c "echo \$$MACHTYPE")
PNGFILES = $(shell cd docs/manual;ls *png)
mtest: $(OFILES) readline-fix.scm $(MOFILES) $(MOIMPFILES) megatest.o megatest-version.scm
@@ -147,40 +176,10 @@
csc $(CSCOPTS) $(OFILES) dashboard.scm $(GOFILES) $(MOFILES) $(MOIMPFILES) -o dboard
mtut: $(OFILES) $(MOFILES) $(MOIMPFILES) megatest-fossil-hash.scm mtut.scm megatest-version.scm
csc $(CSCOPTS) $(OFILES) $(MOFILES) $(MOIMPFILES) mtut.scm -o mtut
-# include makefile.inc
-
-# TCMTOBJS = \
-# api.o \
-# archive.o \
-# cgisetup/models/pgdb.o \
-# common.o \
-# configf.o \
-# db.o \
-# env.o \
-# keys.o \
-# launch.o \
-# margs.o \
-# mt.o \
-# process.o \
-# rmt.o \
-# runconfig.o \
-# runs.o \
-# server.o \
-# tasks.o \
-# tdb.o \
-# tests.o \
-# ezsteps.o
-#
-# # mofiles/rmtmod.o \
-# # mofiles/commonmod.o \
-#
-# tcmt : $(TCMTOBJS) tcmt.scm megatest-version.scm $(MOFILES) $(MOIMPFILES)
-# csc $(CSCOPTS) $(TCMTOBJS) $(MOFILES) $(MOIMPFILES) tcmt.scm -o tcmt
-
# install documentation to $(PREFIX)/docs
# DOES NOT REBUILD DOCS
#
$(PREFIX)/share/docs/megatest_manual.html : docs/manual/megatest_manual.html
mkdir -p $(PREFIX)/share/docs
@@ -197,63 +196,10 @@
$(INSTALL) mt-pg.sql $(PREFIX)/share/db/mt-pg.sql
# Special dependencies for the includes
$(MOFILE) $(MOIMPFILES) : megatest-fossil-hash.scm
-mofiles/commonmod.o : mofiles/debugprint.o megatest-fossil-hash.scm
-common.o : mofiles/commonmod.o
-mofiles/configfmod.o : mofiles/commonmod.o configf-guts.scm
-
-# mofiles/dbmod.o : mofiles/configfmod.o
-
-# commonmod.o dashboard.o megatest.o tcmt.o apimod.o : megatest-fossil-hash.scm
-
-tests.o db.o launch.o \
-dashboard-guimonitor.o dashboard-main.o \
-monitor.o dashboard.o archive.o megatest.o : db_records.scm megatest-fossil-hash.scm
-
-tests.o dashboard.o dashboard-main.o : run_records.scm
-
-db.o ezsteps.o keys.o launch.o megatest.o monitor.o tests.o : key_records.scm
-db.o api.o : mofiles/dbmod.o mofiles/dbfile.o mofiles/debugprint.o mofiles/commonmod.o dbmod.import.o
-
-tests.o tasks.o dashboard-tasks.o : task_records.scm
-
-# mofiles-made : $(MOFILES)
-# make $(MOIMPFILES)
-# touch mofiles-made
-
-megatest.o : megatest-fossil-hash.scm megatest-version.scm $(MOFILES) $(MOIMPFILES)
-
-common.scm configf.scm dashboard-guimonitor.scm dashboard.scm dcommon.scm ezsteps.scm index-tree.scm keys.scm launch.scm megatest.scm monitor.scm mt.scm newdashboard.scm runconfig.scm server.scm tdb.scm : common_records.scm megatest-version.scm
-
-common_records.scm : altdb.scm
-
-mofiles/dbfile.o : mofiles/commonmod.o
-
-# mofiles/stml2.o : mofiles/cookie.o
-# configf.o : mofiles/commonmod.o
-
-dashboard.o : megatest-version.scm
-
-dcommon.o : run_records.scm
-
-mofiles/stml2.o : mofiles/cookie.o
-
-# # special include based modules
-# mofiles/pkts.o : pkts/pkts.scm
-# mofiles/stml2.o : cookie.o
-# # mofiles/mtargs.o : mtargs/mtargs.scm
-# # mofiles/mtconfigf.o : mtconfigf/mtconfigf.scm
-# mofiles/ulex.o : ulex/ulex.scm
-# mofiles/mutils.o : mutils/mutils.scm
-# mofiles/cookie.o : stml2/cookie.scm
-# mofiles/stml2.o : stml2/stml2.scm
-
-# for the modularized stuff
-mofiles/rmtmod.o : mofiles/commonmod.o
-
megatest-fossil-hash.scm : $(SRCFILES) megatest.scm *_records.scm
echo "(define megatest-fossil-hash \"$(MTESTHASH)\")" > megatest-fossil-hash.new
if ! diff -q megatest-fossil-hash.new megatest-fossil-hash.scm ; then echo copying .new to .scm;cp -f megatest-fossil-hash.new megatest-fossil-hash.scm;fi
$(OFILES) $(GOFILES) : common_records.scm
@@ -464,13 +410,13 @@
fi
if csi -ne '(import postgresql)'&> /dev/null;then \
echo "(import postgresql)(hash-table-set! *available-db* 'postgresql #t)" >> altdb.scm;\
fi
-
-unitdeps.dot : *mod.scm ./utils/plot-uses Makefile
- ./utils/plot-uses todot processmod.import,dbfile.import,dbmod.import,configfmod.import,mtmod.import,procesmod.import,commonmod.import,mtargs.import,mtargs,debugprint $$(ls *.scm|grep -v import) > unitdeps.dot
+DOTIGNORES= processmod.import,dbfile.import,dbmod.import,configfmod.import,mtmod.import,processmod.import,commonmod.import,mtargs.import
+unitdeps.dot make.inc : *mod.scm ./utils/plot-uses Makefile
+ ./utils/plot-uses todot $(DOTIGNORES) $$(ls *.scm|grep -v import) > unitdeps.dot
# ./utils/plot-uses todot commonmod,portlogger,stml2,debugprint,mtargs apimod.scm commonmod.scm configfmod.scm dbmod.scm megatestmod.scm mtmod.scm processmod.scm rmtmod.scm servermod.scm tcp-transportmod.scm > uses.dot ; dot uses.dot -Tpdf -o uses.pdf
# apimod.scm commonmod.scm configfmod.scm dbmod.scm megatestmod.scm mtmod.scm processmod.scm rmtmod.scm servermod.scm tcp-transportmod.scm testsmod.scm
DELETED api.scm
Index: api.scm
==================================================================
--- api.scm
+++ /dev/null
@@ -1,44 +0,0 @@
-;;======================================================================
-;; Copyright 2006-2013, Matthew Welland.
-;;
-;; This file is part of Megatest.
-;;
-;; Megatest is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-;;
-;; Megatest is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with Megatest. If not, see .
-;;
-;;======================================================================
-
-(declare (unit api))
-(declare (uses apimod))
-
-(declare (uses debugprint))
-(declare (uses commonmod))
-(declare (uses dbmod))
-(declare (uses dbfile))
-(declare (uses tcp-transportmod))
-
-(import commonmod)
-(import apimod)
-(import dbmod)
-(import dbfile)
-(import debugprint)
-(import tcp-transportmod)
-
-(use srfi-69
- srfi-18
- posix
- matchable
- s11n
- typed-records)
-
-
Index: archivemod.scm
==================================================================
--- archivemod.scm
+++ archivemod.scm
@@ -33,10 +33,11 @@
(declare (uses fsmod))
(declare (uses processmod))
(declare (uses mtmod))
(declare (uses dbmod))
(declare (uses dbfile))
+(declare (uses rmtmod))
(use srfi-69)
(module archivemod
(
Index: dashboard-guimonitor.scm
==================================================================
--- dashboard-guimonitor.scm
+++ dashboard-guimonitor.scm
@@ -35,14 +35,11 @@
;; (declare (uses common))
(declare (uses keys))
(declare (uses commonmod))
(import commonmod)
-;; (include "common_records.scm")
-;; (include "db_records.scm")
(include "run_records.scm")
-(include "task_records.scm")
(define (control-panel db tdb keys)
(let* ((var-params (make-hash-table)) ;; register all the widgets here for querying on run, rollup, remove?
(key-params (make-hash-table))
(monitordat '()) ;; list of monitor records
Index: dashboard.scm
==================================================================
--- dashboard.scm
+++ dashboard.scm
@@ -100,14 +100,11 @@
vgmod
dcommon
)
(include "common_records.scm")
-;; (include "db_records.scm")
(include "run_records.scm")
-(include "task_records.scm")
-;; (include "megatest-version.scm")
(include "megatest-fossil-hash.scm")
;; set some parameters here - these need to be put in something that can be loaded from other
;; executables such as dashboard and mtutil
;;
Index: dcommon.scm
==================================================================
--- dcommon.scm
+++ dcommon.scm
@@ -88,12 +88,10 @@
servermod
)
(include "megatest-version.scm")
(include "common_records.scm")
-;; (include "db_records.scm")
-;; (include "key_records.scm")
(include "run_records.scm")
;; yes, this is non-ideal
(define dashboard:update-summary-tab #f)
(define dashboard:update-servers-table #f)
@@ -6288,11 +6286,12 @@
(let* ((mtdb-path (conc *toppath* "/.mtdb/main.db"))
(target (args:get-arg "-target"))
(commondat (dboard:commondat-make)))
(if target
(begin
- (args:remove-arg-from-ht "-target")
+ ;; (args:remove-arg-from-ht "-target") ;; we have old versions of mtargs installed as eggs - uncomment this when going to chicken 5 BUG
+ (hash-table-delete! args:arg-hash "-target")
(dboard:commondat-target-set! commondat target)
)
)
(if (not (launch:setup))
Index: megatest.scm
==================================================================
--- megatest.scm
+++ megatest.scm
@@ -73,11 +73,10 @@
(declare (uses runsmod))
(declare (uses ezstepsmod))
(declare (uses launchmod))
(declare (uses tdb))
-(declare (uses api))
(declare (uses env))
(declare (uses diff-report))
(declare (uses server))
(declare (uses genexample))
(declare (uses mtbody))
Index: mtbody.scm
==================================================================
--- mtbody.scm
+++ mtbody.scm
@@ -21,26 +21,38 @@
;;======================================================================
;; All the crud that was in megatest.scm
;;======================================================================
(declare (unit mtbody))
-(declare (uses debugprint))
-(declare (uses mtargs))
+
+(declare (uses apimod))
+(declare (uses archivemod))
(declare (uses commonmod))
(declare (uses configfmod))
-(declare (uses dbmod))
(declare (uses dbfile))
+(declare (uses dbmod))
+(declare (uses debugprint))
+(declare (uses diff-report))
(declare (uses envmod))
-(declare (uses apimod))
+(declare (uses fsmod))
(declare (uses genexample))
-(declare (uses rmtmod))
-(declare (uses archivemod))
+(declare (uses launchmod))
+(declare (uses megatestmod))
+(declare (uses mtargs))
+(declare (uses mtmod))
(declare (uses mutils))
(declare (uses odsmod))
-(declare (uses testsmod))
-(declare (uses diff-report))
+(declare (uses portlogger))
+(declare (uses processmod))
+(declare (uses rmtmod))
+(declare (uses runsmod))
+(declare (uses servermod))
+(declare (uses stml2))
+(declare (uses tasksmod))
+(declare (uses tcp-transportmod))
(declare (uses tdb))
+(declare (uses testsmod))
(use srfi-69)
(import csi)
(module mtbody
Index: stml2.scm
==================================================================
--- stml2.scm
+++ stml2.scm
@@ -17,7 +17,8 @@
;; along with Megatest. If not, see .
;;======================================================================
(declare (unit stml2))
+(declare (uses cookie))
(include "stml2/stml2.scm")
DELETED task_records.scm
Index: task_records.scm
==================================================================
--- task_records.scm
+++ /dev/null
@@ -1,19 +0,0 @@
-;;======================================================================
-;; Copyright 2006-2012, Matthew Welland.
-;;
-;; This file is part of Megatest.
-;;
-;; Megatest is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-;;
-;; Megatest is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with Megatest. If not, see .
-;;======================================================================
-
Index: tasksmod.scm
==================================================================
--- tasksmod.scm
+++ tasksmod.scm
@@ -132,13 +132,10 @@
pgdb
mtmod
megatestmod
)
-(include "task_records.scm")
-;; (include "db_records.scm")
-
;;======================================================================
;; Tasks db
;;======================================================================
(define (tasks:get-task-db-path)
Index: utils/plot-uses.scm
==================================================================
--- utils/plot-uses.scm
+++ utils/plot-uses.scm
@@ -38,31 +38,35 @@
(define (print-err . data)
(with-output-to-port (current-error-port)
(lambda ()
(apply print data))))
-(define (process-file ignores fname)
+(define (process-file ignores fname oup)
(with-input-from-file fname
(lambda ()
(let loop ((modname "DUMMYMOD"))
(let* ((inl (read-line)))
(if (eof-object? inl)
#t
(match (string-search unituses-rx inl)
- ((_ dtype unitname)
- (if (equal? dtype "unit")
- (loop unitname)
- (begin
- (if (equal? dtype "uses")
- (if (not (or (member modname '("DUMMYMOD"))
- (member modname ignores)
- (member unitname ignores)))
- (print " \""unitname"\" -> \""modname"\";"))
- (print-err "ERROR: bad declare line \""inl"\""))
- (loop modname))))
- (else
- (loop modname)))))))))
+ ((_ dtype unitname)
+ (if (equal? dtype "unit")
+ (loop unitname)
+ (begin
+ (if (equal? dtype "uses")
+ (if (not (or (member modname '("DUMMYMOD"))
+ (member modname ignores)
+ (member unitname ignores)))
+ (begin
+ (print " \""unitname"\" -> \""modname"\";")
+ (with-output-to-port oup
+ (lambda ()
+ (print "mofiles/"modname".o : mofiles/"unitname".o")))))
+ (print-err "ERROR: bad declare line \""inl"\""))
+ (loop modname))))
+ (else
+ (loop modname)))))))))
;; ./utils/plot-uses todot portlogger,stml2,debugprint,mtargs
;; apimod.scm commonmod.scm configfmod.scm dbmod.scm megatestmod.scm
;; mtmod.scm processmod.scm rmtmod.scm servermod.scm
;; tcp-transportmod.scm > uses.dot
@@ -71,19 +75,21 @@
(define (main)
(match (command-line-arguments)
(("todot" ignoreunits . files)
- (let* ((ignores (string-split ignoreunits ",")))
+ (let* ((ignores (string-split ignoreunits ","))
+ (oup (open-output-file "make.inc")))
(print-err "Making graph for files: " (string-intersperse files ", "))
(print "digraph uses_unit {")
(for-each
(lambda (fname)
(print "// Filename: "fname)
- (process-file ignores fname))
+ (process-file ignores fname oup))
files)
- (print "}")))
+ (print "}")
+ (close-output-port oup)))
(else
(print-err "Usage: plot-uses todot u1,u2... file1.scm ...")
(print-err " where u1,u2... are units to ignore and file1.scm... are the files to process."))))
(main)