scsh-make/make.scm

12 lines
433 B
Scheme

(define (make rcs targets . maybe-arg)
(let-optionals maybe-arg ((init-state (list)))
(let* ((common-rule-candidates (cdr rcs))
(rule-candidates (car rcs))
(rules (rcs->rules rule-candidates common-rule-candidates))
(rule-set (rules->rule-set rules))
(target-rules (map (lambda (t) (lookup-rule t rules))
targets)))
(map (lambda (t)
(rule-make t init-state rule-set))
target-rules))))