(define bin '("schematic-docco" "schematic-format" "schematic-markdown" "schematic-wiki")) (define aux '("schematic.css")) (define man (map (lambda (b) (make-pathname #f b "1")) bin)) (define flags '(-O3 -d0 -I src -R r7rs -X r7rs -specialize)) (for-each (lambda (dir) (parameterize ((current-directory dir)) (let-values (((_ _ status) (process-wait (process-run "chicken-install")))) (unless (zero? status) (exit status))))) (append (map (lambda (d) (string-append "lib/" d)) (directory "lib")) (map (lambda (d) (string-append "src/" d)) (directory "src")))) (for-each (lambda (b) (compile ,@flags ,(make-pathname #f b "scm"))) bin) (let ((prefix (installation-prefix))) (install-program 'schematic (append (filter file-exists? bin) (map (lambda (m) (cons m (make-pathname (list prefix "share/schematic") m))) (filter file-exists? aux)) (map (lambda (m) (cons m (make-pathname (list prefix "share/man/man1") m))) (filter file-exists? man))) '((version "0.1.3"))))