#lang racket (require "main.rkt") (target all (displayln "use (make clean) or (make package) or (make commit/push") ) (target commit (let ((st (git 'status))) (displayln st) (when (> (length st) 0) (git 'add '-A) (git 'commit) (git 'push)))) (target push (git 'push)) (target status (displayln "git status:") (for-each (λ (e) (displayln (format "~a: ~a (remote ~a)" (caddr e) (cadr e) (car e)))) (git 'status)) ) (target pull (git 'pull)) (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)) (for-each (λ (f) (displayln f) (rm-f f)) (list-files "scrbl" #px"[.](css|js|html)$")) ) (target package (deps clean) (zip-package)) (target "docs/racket-makefile.html" (deps "scrbl/racket-makefile.scrbl") (unless (directory-exists? "docs") (make-directory "docs")) (raco '(scribble --html +m --dest "docs" scrbl/racket-makefile.scrbl))) (target doc (deps "docs/racket-makefile.html") (displayln "Documentation built") ) (target showdoc (deps doc) (send-url/file "docs/racket-makefile.html")) (target refresh (displayln "Refreshing makefile") (refresh-makefile) (displayln "done.") )