*** empty log message ***
This commit is contained in:
parent
dbda21b92a
commit
5277066db6
139
macros.scm
139
macros.scm
|
@ -1,25 +1,95 @@
|
||||||
|
;;; TODO:
|
||||||
|
;;;
|
||||||
|
;;; macros -> functions, eg.
|
||||||
|
;;;
|
||||||
|
;;; (define make-is-out-of-date!
|
||||||
|
;;; (lambda (t . p)
|
||||||
|
;;; (lambda args (cons #t (last args)))))
|
||||||
|
|
||||||
(define-syntax make
|
(define-syntax make
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
((make ?rule-trans-set (?target-fname0 ...) ?init-state)
|
((make ?rule-trans-set (?target-fname0 ...) ?init-state)
|
||||||
(begin
|
;;
|
||||||
(let ((target-rule (rule-candidate-get ?rule-trans-set ?target-fname0)))
|
;; ?rule-trans-set could be an expr: eval only once
|
||||||
(if (not (null? (rule-trans-set-rule-candidates ?rule-trans-set)))
|
;;
|
||||||
(display "warning: rule-candidates not empty!\n"))
|
(let ((rule-trans-set ?rule-trans-set))
|
||||||
|
(let ((target-rule (known-rules-get rule-trans-set ?target-fname0)))
|
||||||
(if target-rule
|
(if target-rule
|
||||||
(rule-make target-rule
|
(rule-make target-rule
|
||||||
?init-state
|
?init-state
|
||||||
(rule-trans-set-rule-set ?rule-trans-set))
|
(rule-trans-set-rule-set rule-trans-set))
|
||||||
(error "target-rule not found in rule-set.")))
|
(error "target-rule not found in rule-set.")))
|
||||||
...))))
|
...))
|
||||||
|
((_ ) (error "usage: (make '#{:rule-trans-set} (target0 ...) init-state)\n"))))
|
||||||
|
|
||||||
(define-syntax makefile
|
(define-syntax makefile
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
((makefile ?rule0 ...)
|
((makefile ?rule0 ...)
|
||||||
(let ((rule-trans-set (make-empty-rule-trans-set)))
|
(let ((rule-trans-set (make-empty-rule-trans-set)))
|
||||||
(let ((rule-trans-set (?rule0 rule-trans-set)))
|
(let* ((rule-trans-set (?rule0 rule-trans-set))
|
||||||
...
|
...)
|
||||||
rule-trans-set)))))
|
rule-trans-set)))))
|
||||||
|
|
||||||
|
;;; (define-syntax makefile
|
||||||
|
;;; (syntax-rules ()
|
||||||
|
;;; ((makefile) (make-empty-rule-trans-set))
|
||||||
|
;;; ((makefile ?rule0 ?rule1 ...)
|
||||||
|
;;; (?rule0 (makefile ?rule1 ...)))))
|
||||||
|
|
||||||
|
(define-syntax makefile-rule
|
||||||
|
(syntax-rules ()
|
||||||
|
((makefile-rule ?target (?prereq0 ...) ?thunk)
|
||||||
|
(makefile-rule-tmpvars () ?target (?prereq0 ...) ?thunk))))
|
||||||
|
|
||||||
|
(define-syntax makefile-rule-tmpvars
|
||||||
|
(syntax-rules ()
|
||||||
|
((makefile-rule-tmpvars (tmp1 ...) ?target () ?thunk)
|
||||||
|
;;
|
||||||
|
;; ?target could be an expr: eval only once
|
||||||
|
;;
|
||||||
|
(let ((target ?target))
|
||||||
|
(lambda (rule-trans-set)
|
||||||
|
(rule-trans-set-add rule-trans-set
|
||||||
|
target
|
||||||
|
(list tmp1 ...)
|
||||||
|
(make-is-out-of-date? target tmp1 ...)
|
||||||
|
(lambda ?args (?thunk))))))
|
||||||
|
;;
|
||||||
|
;; recursively construct temporary, hygienic variables
|
||||||
|
;;
|
||||||
|
((makefile-rule-tmpvars (tmp1 ...) ?target (?prereq0 ?prereq1 ...) ?thunk)
|
||||||
|
(let ((tmp2 ?prereq0))
|
||||||
|
(makefile-rule-tmpvars (tmp1 ... tmp2) ?target (?prereq1 ...) ?thunk)))))
|
||||||
|
|
||||||
|
(define-syntax makefile-rule-md5
|
||||||
|
(syntax-rules ()
|
||||||
|
((makefile-rule-md5 ?fingerprint ?target (?prereq0 ...) ?thunk)
|
||||||
|
(makefile-rule-md5-tmpvars () ?fingerprint ?target (?prereq0 ...) ?thunk))))
|
||||||
|
|
||||||
|
(define-syntax makefile-rule-md5-tmpvars
|
||||||
|
(syntax-rules ()
|
||||||
|
((makefile-rule-md5-tmpvars (tmp1 ...) ?fingerprint ?target () ?thunk)
|
||||||
|
;;
|
||||||
|
;; ?target could be an expr: eval only once
|
||||||
|
;;
|
||||||
|
(let ((target ?target))
|
||||||
|
(lambda (rule-trans-set)
|
||||||
|
(rule-trans-set-add rule-trans-set
|
||||||
|
target
|
||||||
|
(list tmp1 ...)
|
||||||
|
(make-has-md5-digest=? ?fingerprint
|
||||||
|
target
|
||||||
|
tmp1 ...)
|
||||||
|
(lambda ?args (?thunk))))))
|
||||||
|
;;
|
||||||
|
;; recursively construct temporary, hygienic variables
|
||||||
|
;;
|
||||||
|
((makefile-rule-md5-tmpvars (tmp1 ...) ?fingerprint ?target
|
||||||
|
(?prereq0 ?prereq1 ...) ?thunk)
|
||||||
|
(let ((tmp2 ?prereq0))
|
||||||
|
(makefile-rule-md5-tmpvars (tmp1 ... tmp2) ?fingerprint
|
||||||
|
?target (?prereq1 ...) ?thunk)))))
|
||||||
|
|
||||||
(define-syntax make-is-out-of-date?
|
(define-syntax make-is-out-of-date?
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
((make-is-out-of-date? ?target)
|
((make-is-out-of-date? ?target)
|
||||||
|
@ -55,56 +125,3 @@
|
||||||
(md5-digest->number ?fingerprint)))
|
(md5-digest->number ?fingerprint)))
|
||||||
(last ?args))))))
|
(last ?args))))))
|
||||||
|
|
||||||
(define-syntax makefile-rule
|
|
||||||
(syntax-rules ()
|
|
||||||
((makefile-rule ?target (?prereq0 ...) ?thunk)
|
|
||||||
(makefile-rule-tmpvars () ?target (?prereq0 ...) ?thunk))))
|
|
||||||
|
|
||||||
(define-syntax makefile-rule-tmpvars
|
|
||||||
(syntax-rules ()
|
|
||||||
((makefile-rule-tmpvars (tmp1 ...) ?target () ?thunk)
|
|
||||||
;;
|
|
||||||
;; ?target could be an expr: eval only once
|
|
||||||
;;
|
|
||||||
(let ((target ?target))
|
|
||||||
(lambda (rule-trans-set)
|
|
||||||
(rule-trans-set-add! rule-trans-set
|
|
||||||
target
|
|
||||||
(list tmp1 ...)
|
|
||||||
(make-is-out-of-date? target tmp1 ...)
|
|
||||||
(lambda ?args (?thunk))))))
|
|
||||||
;;
|
|
||||||
;; recursively construct temporary, hygienic variables
|
|
||||||
;;
|
|
||||||
((makefile-rule-tmpvars (tmp1 ...) ?target (?prereq0 ?prereq1 ...) ?thunk)
|
|
||||||
(let ((tmp2 ?prereq0))
|
|
||||||
(makefile-rule-tmpvars (tmp1 ... tmp2) ?target (?prereq1 ...) ?thunk)))))
|
|
||||||
|
|
||||||
(define-syntax makefile-rule-md5
|
|
||||||
(syntax-rules ()
|
|
||||||
((makefile-rule-md5 ?fingerprint ?target (?prereq0 ...) ?thunk)
|
|
||||||
(makefile-rule-md5-tmpvars () ?fingerprint ?target (?prereq0 ...) ?thunk))))
|
|
||||||
|
|
||||||
(define-syntax makefile-rule-md5-tmpvars
|
|
||||||
(syntax-rules ()
|
|
||||||
((makefile-rule-md5-tmpvars (tmp1 ...) ?fingerprint ?target () ?thunk)
|
|
||||||
;;
|
|
||||||
;; ?target could be an expr: eval only once
|
|
||||||
;;
|
|
||||||
(let ((target ?target))
|
|
||||||
(lambda (rule-trans-set)
|
|
||||||
(rule-trans-set-add! rule-trans-set
|
|
||||||
target
|
|
||||||
(list tmp1 ...)
|
|
||||||
(make-has-md5-digest=? ?fingerprint
|
|
||||||
target
|
|
||||||
tmp1 ...)
|
|
||||||
(lambda ?args (?thunk))))))
|
|
||||||
;;
|
|
||||||
;; recursively construct temporary, hygienic variables
|
|
||||||
;;
|
|
||||||
((makefile-rule-md5-tmpvars (tmp1 ...) ?fingerprint ?target
|
|
||||||
(?prereq0 ?prereq1 ...) ?thunk)
|
|
||||||
(let ((tmp2 ?prereq0))
|
|
||||||
(makefile-rule-md5-tmpvars (tmp1 ... tmp2) ?fingerprint
|
|
||||||
?target (?prereq1 ...) ?thunk)))))
|
|
||||||
|
|
|
@ -144,17 +144,17 @@
|
||||||
;; initially make the connections to every prereq-listen-ch
|
;; initially make the connections to every prereq-listen-ch
|
||||||
;;
|
;;
|
||||||
(let node-loop ((tmsg (collect&reply/receive listen-ch))
|
(let node-loop ((tmsg (collect&reply/receive listen-ch))
|
||||||
(?recipients #f))
|
(maybe-recipients #f))
|
||||||
(let ((sender (tagged-msg-tag tmsg))
|
(let ((sender (tagged-msg-tag tmsg))
|
||||||
(cmd (tagged-msg-stripped tmsg)))
|
(cmd (tagged-msg-stripped tmsg)))
|
||||||
(cond
|
(cond
|
||||||
((eq? (rule-cmd-name cmd) 'make)
|
((eq? (rule-cmd-name cmd) 'make)
|
||||||
(if (not ?recipients)
|
(if (not maybe-recipients)
|
||||||
(set! ?recipients
|
(set! maybe-recipients
|
||||||
(rule-node/make-links rule connect-ch rule-set)))
|
(rule-node/make-links rule connect-ch rule-set)))
|
||||||
(let ((res (rule-node/make rule listen-ch connect-ch
|
(let ((res (rule-node/make rule listen-ch connect-ch
|
||||||
?recipients init-state)))
|
maybe-recipients init-state)))
|
||||||
(collect&reply/send listen-ch (make-tagged-msg sender res))))
|
(collect&reply/send listen-ch (make-tagged-msg sender res))))
|
||||||
((eq? (rule-cmd-name cmd) 'shutdown) (terminate-current-thread))))
|
((eq? (rule-cmd-name cmd) 'shutdown) (terminate-current-thread))))
|
||||||
(node-loop (collect&reply/receive listen-ch) ?recipients)))
|
(node-loop (collect&reply/receive listen-ch) maybe-recipients)))
|
||||||
'rule-node)))
|
'rule-node)))
|
||||||
|
|
50
makefile.scm
50
makefile.scm
|
@ -1,24 +1,28 @@
|
||||||
;;; (define d (expand-file-name "~/.tmp"))
|
;;; (define work-dir (expand-file-name "~/.tmp"))
|
||||||
;;;
|
;;;
|
||||||
;;; (makefile
|
;;; (make
|
||||||
;;; (makefile-rule (expand-file-name "skills.tex" d)
|
;;; (makefile
|
||||||
;;; ()
|
;;; (makefile-rule (expand-file-name "skills.tex" work-dir)
|
||||||
;;; (lambda ()
|
;;; ()
|
||||||
;;; (with-cwd d (display "Top: skills.tex"))))
|
;;; (lambda ()
|
||||||
;;; (makefile-rule (expand-file-name "skills.dvi" d)
|
;;; (with-cwd work-dir (display "Top: skills.tex"))))
|
||||||
;;; (expand-file-name "skills.tex" d)
|
;;; (makefile-rule (expand-file-name "skills.dvi" work-dir)
|
||||||
;;; (lambda ()
|
;;; ((expand-file-name "skills.tex" work-dir))
|
||||||
;;; (with-cwd d
|
;;; (lambda ()
|
||||||
;;; (run (latex ,(expand-file-name "skills.tex" d))))))
|
;;; (with-cwd
|
||||||
;;; (makefile-rule (expand-file-name "skills.pdf" d)
|
;;; work-dir
|
||||||
;;; (expand-file-name "skills.dvi" d)
|
;;; (run (latex ,(expand-file-name "skills.tex" work-dir))))))
|
||||||
;;; (lambda ()
|
;;; (makefile-rule (expand-file-name "skills.pdf" work-dir)
|
||||||
;;; (with-cwd d (run
|
;;; ((expand-file-name "skills.dvi" work-dir))
|
||||||
;;; (dvipdfm -o
|
;;; (lambda ()
|
||||||
;;; ,(expand-file-name "skills.pdf" d)
|
;;; (with-cwd
|
||||||
;;; ,(expand-file-name "skills.dvi" d)))))))
|
;;; work-dir
|
||||||
;;;
|
;;; (run
|
||||||
;;; (make (expand-file-name "skills.pdf" d) "this is an empty init-state")
|
;;; (dvipdfm -o
|
||||||
|
;;; ,(expand-file-name "skills.pdf" work-dir)
|
||||||
|
;;; ,(expand-file-name "skills.dvi" work-dir)))))))
|
||||||
|
;;; ((expand-file-name "skills.pdf" work-dir))
|
||||||
|
;;; "this is an empty init-state")
|
||||||
|
|
||||||
(make
|
(make
|
||||||
(makefile
|
(makefile
|
||||||
|
@ -38,5 +42,7 @@
|
||||||
(with-cwd "/home/bruegman/.tmp"
|
(with-cwd "/home/bruegman/.tmp"
|
||||||
(run (dvipdfm -o ,"/home/bruegman/.tmp/skills.pdf"
|
(run (dvipdfm -o ,"/home/bruegman/.tmp/skills.pdf"
|
||||||
,"/home/bruegman/.tmp/skills.dvi"))))))
|
,"/home/bruegman/.tmp/skills.dvi"))))))
|
||||||
("/home/bruegman/.tmp/skills.pdf")
|
("/home/bruegman/.tmp/skills.pdf"
|
||||||
"this is an empty init-state...")
|
"/home/bruegman/.tmp/skills.dvi"
|
||||||
|
"/home/bruegman/.tmp/skills.tex")
|
||||||
|
"this is an empty init-state...")
|
||||||
|
|
|
@ -189,8 +189,9 @@
|
||||||
rule-trans-set-rule-candidates
|
rule-trans-set-rule-candidates
|
||||||
rule-trans-set-known-rules
|
rule-trans-set-known-rules
|
||||||
rule-trans-set-rule-set
|
rule-trans-set-rule-set
|
||||||
rule-trans-set-add!
|
rule-trans-set-add
|
||||||
rule-candidate-get))
|
rule-candidate-get
|
||||||
|
known-rules-get))
|
||||||
|
|
||||||
(define-structure rule-trans-set rule-trans-set-interface
|
(define-structure rule-trans-set rule-trans-set-interface
|
||||||
(open scheme-with-scsh
|
(open scheme-with-scsh
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
;;; TODO:
|
||||||
|
;;;
|
||||||
|
;;; change to topological sort
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; RULE-TRANS-SET
|
;;; RULE-TRANS-SET
|
||||||
;;;
|
;;;
|
||||||
|
@ -25,24 +29,35 @@
|
||||||
(rule-set (make-empty-rule-set)))
|
(rule-set (make-empty-rule-set)))
|
||||||
(make-rule-trans-set rule-candidates known-rules rule-set)))
|
(make-rule-trans-set rule-candidates known-rules rule-set)))
|
||||||
|
|
||||||
(define rule-trans-set-add!
|
;;; o every incoming rule is considered as a rule-candidate
|
||||||
|
;;; o add the new rule-candidate to rule-candidates
|
||||||
|
;;; o run known-rules-update afterwards
|
||||||
|
(define rule-trans-set-add
|
||||||
(lambda (rule-trans-set target prereqs wants-build? build-func)
|
(lambda (rule-trans-set target prereqs wants-build? build-func)
|
||||||
(let* ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
(known-rules-update
|
||||||
(known-rules (rule-trans-set-known-rules rule-trans-set))
|
(rule-candidate-add rule-trans-set
|
||||||
(rule-set (rule-trans-set-rule-set rule-trans-set))
|
target
|
||||||
(args (list rule-candidates target prereqs wants-build? build-func)))
|
prereqs
|
||||||
(apply rule-candidate-add! args)
|
wants-build?
|
||||||
(known-rules-update rule-trans-set))))
|
build-func))))
|
||||||
|
|
||||||
;;; o every incoming rule is considered as a rule-candidate so it is added
|
(define rule-candidate-add
|
||||||
;;; here first
|
(lambda (rule-trans-set target prereqs wants-build? build-func)
|
||||||
(define rule-candidate-add!
|
(let ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
||||||
(lambda (rule-candidates target prereqs wants-build? build-func)
|
(known-rules (rule-trans-set-known-rules rule-trans-set))
|
||||||
(let ((rule-args (list prereqs wants-build? build-func)))
|
(rule-set (rule-trans-set-rule-set rule-trans-set))
|
||||||
(set! rule-candidates (alist-cons target rule-args rule-candidates)))))
|
(rule-args (list prereqs wants-build? build-func)))
|
||||||
|
(make-rule-trans-set (alist-cons target rule-args rule-candidates)
|
||||||
|
known-rules
|
||||||
|
rule-set))))
|
||||||
|
|
||||||
(define (rule-candidate-del! rule-candidates target)
|
(define (rule-candidate-del rule-trans-set target)
|
||||||
(alist-delete! target rule-candidates))
|
(let ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
||||||
|
(known-rules (rule-trans-set-known-rules rule-trans-set))
|
||||||
|
(rule-set (rule-trans-set-rule-set rule-trans-set)))
|
||||||
|
(make-rule-trans-set (alist-delete! target rule-candidates)
|
||||||
|
known-rules
|
||||||
|
rule-set)))
|
||||||
|
|
||||||
(define (rule-candidate-get rule-trans-set target)
|
(define (rule-candidate-get rule-trans-set target)
|
||||||
(let* ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
(let* ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
||||||
|
@ -55,40 +70,69 @@
|
||||||
;;; can be added to the known-rules as a freshly created rule
|
;;; can be added to the known-rules as a freshly created rule
|
||||||
;;; o any rule-candidate with () as prereqs can be added to the known-rules
|
;;; o any rule-candidate with () as prereqs can be added to the known-rules
|
||||||
;;; as well, so this will be the first element of the known-rules
|
;;; as well, so this will be the first element of the known-rules
|
||||||
(define (known-rules-add! rule-trans-set target prereqs wants-build? build-func)
|
(define known-rules-add
|
||||||
(let ((rule (make-rule prereqs wants-build? build-func))
|
(lambda (rule-trans-set target prereqs wants-build? build-func)
|
||||||
(rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
(let ((rule (make-rule (map (lambda (prereq)
|
||||||
(known-rules (rule-trans-set-known-rules rule-trans-set))
|
(known-rules-get rule-trans-set prereq))
|
||||||
(rule-set (rule-trans-set-rule-set rule-trans-set)))
|
prereqs)
|
||||||
(set! known-rules (alist-cons target rule known-rules))
|
wants-build?
|
||||||
(make-rule-trans-set rule-candidates
|
build-func))
|
||||||
known-rules
|
(rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
||||||
(rule-set-add rule rule-set))))
|
(known-rules (rule-trans-set-known-rules rule-trans-set))
|
||||||
|
(rule-set (rule-trans-set-rule-set rule-trans-set)))
|
||||||
|
(make-rule-trans-set rule-candidates
|
||||||
|
(alist-cons target rule known-rules)
|
||||||
|
(rule-set-add rule rule-set)))))
|
||||||
|
|
||||||
|
(define (known-rules-get rule-trans-set target)
|
||||||
|
(let* ((known-rules (rule-trans-set-known-rules rule-trans-set))
|
||||||
|
(maybe-rule (assq target known-rules)))
|
||||||
|
(if maybe-rule (cdr maybe-rule) maybe-rule)))
|
||||||
|
|
||||||
|
(define (known-rules-update rule-trans-set)
|
||||||
|
(let* ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set))
|
||||||
|
(candidate-descs (map cons (map car rule-candidates)
|
||||||
|
(map cdr rule-candidates))))
|
||||||
|
(let for-candidates ((current-candidate-desc (car candidate-descs))
|
||||||
|
(to-do-candidate-desc (cdr candidate-descs))
|
||||||
|
(current-rts rule-trans-set))
|
||||||
|
(let ((target (list-ref current-candidate-desc 0))
|
||||||
|
(prereqs (list-ref current-candidate-desc 1))
|
||||||
|
(wants-build? (list-ref current-candidate-desc 2))
|
||||||
|
(build-func (list-ref current-candidate-desc 3)))
|
||||||
|
(let* ((known-rules (rule-trans-set-known-rules current-rts))
|
||||||
|
(new-rts (if (not (memq #f (map (lambda (prereq)
|
||||||
|
(assq prereq known-rules))
|
||||||
|
prereqs)))
|
||||||
|
(known-rules-add (rule-candidate-del current-rts target)
|
||||||
|
target
|
||||||
|
prereqs
|
||||||
|
wants-build?
|
||||||
|
build-func)
|
||||||
|
current-rts)))
|
||||||
|
(if (not (null? to-do-candidate-desc))
|
||||||
|
(for-candidates (car to-do-candidate-desc)
|
||||||
|
(cdr to-do-candidate-desc)
|
||||||
|
new-rts)
|
||||||
|
new-rts))))))
|
||||||
|
|
||||||
;;; look for all rule-candidates that can be added to known-rules
|
;;; look for all rule-candidates that can be added to known-rules
|
||||||
(define (known-rules-update rule-trans-set)
|
;;; and add them to known-rules
|
||||||
(let ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set)))
|
;;; (define (known-rules-update rule-trans-set)
|
||||||
(map (lambda (candidate-desc)
|
;;; (let ((rule-candidates (rule-trans-set-rule-candidates rule-trans-set)))
|
||||||
(apply (lambda (target prereqs wants-build? build-func)
|
;;; (map (lambda (candidate-desc)
|
||||||
(let ((rules (rule-trans-set-known-rules rule-trans-set)))
|
;;; (apply (lambda (target prereqs wants-build? build-func)
|
||||||
(if (not (memq #f (map (lambda (prereq)
|
;;; (let ((rules (rule-trans-set-known-rules rule-trans-set)))
|
||||||
(assq prereq rules))
|
;;; (if (not (memq #f (map (lambda (prereq)
|
||||||
prereqs)))
|
;;; (assq prereq rules))
|
||||||
(begin
|
;;; prereqs)))
|
||||||
(rule-candidate-del! rule-trans-set target)
|
;;; (set! rule-trans-set
|
||||||
(set! rule-trans-set
|
;;; (apply known-rules-add!
|
||||||
(apply known-rules-add!
|
;;; (append (list (rule-candidate-del
|
||||||
(append (list rule-trans-set)
|
;;; rule-trans-set
|
||||||
candidate-desc))))
|
;;; target))
|
||||||
rule-trans-set)))
|
;;; candidate-desc))))
|
||||||
candidate-desc))
|
;;; rule-trans-set))
|
||||||
;;
|
;;; candidate-desc))
|
||||||
;; get the (target prereqs wants-build? build-func)-list
|
;;; (map cons (map car rule-candidates) (map cdr rule-candidates)))))
|
||||||
;; for each target
|
|
||||||
;;
|
|
||||||
(map (lambda (target)
|
|
||||||
(rule-candidate-get rule-trans-set target))
|
|
||||||
;;
|
|
||||||
;; get all targets
|
|
||||||
;;
|
|
||||||
(map car rule-candidates)))))
|
|
||||||
|
|
Loading…
Reference in New Issue