;;;; Simple system without deps any -*- scheme-mode -*-
;;;; stuff is valid anywhere in the file
(define (build goal)
  (with-output-to-file "top-level.out"
    (lambda () (write "output by ") (write (goal-name goal)))))

;;; declare setup our default system
(in-system "foo")
(default-goal "top-level")

;;; now we declare our goals
(let ((g (make-goal (name "top-level")
                    (products "top-level.out")
                    (bp build)
                    (sp (lambda (g) #t)))))
  (goal g))



;;; we're done: "top-level" and "clean" (implicitly defined) are our
;;; available goals.
