#lang racket (require racket-makefile package-zipper net/sendurl ) (target all (displayln "use (make clean) or (make package)") ) (target clean (for-each (λ (f) (displayln f) (rm-f f)) (list-files "." #px"([.]bak|~)$" #:recursive #t)) (for-each (λ (d) (displayln d) (rm-rf d)) (list-dirs "." #px"(compiled|doc|docs)$" #:recursive #t)) (when (directory-exists? "scribblings") (for-each (λ (f) (displayln f) (rm-f f)) (list-files "scribblings" #px"[.](css|js|html)$"))) ) (target package (deps clean) (zip-package)) (target zip (deps package)) (define doc-target "docs/git.html") (define doc-src "scribblings/git.scrbl") (target doc-target (deps doc-src) (unless (directory-exists? "docs") (make-directory "docs")) (raco '(scribble --html +m --dest "docs" $<))) (target doc (deps doc-target) (displayln "Documentation built") ) (target showdoc (deps doc) (send-url/file doc-target)) (target refresh (displayln "Refreshing makefile") (refresh-makefile) (displayln "done.") ) (target setup (raco '(setup git)))