#lang racket (require git-cli racket-makefile package-zipper) (makefile 'racket-audio-native-libs (target 'all (displayln "main branch: 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)$" #:recursive #t)) (when (directory-exists? "scrbl") (for-each (λ (f) (displayln f) (rm-f f)) (list-files "scrbl" #px"[.](css|js|html)$"))) ) (target 'package (deps 'clean) (zip-package)) (target 'housekeeping (displayln "Committing changes for:") (let ((changes (git 'status))) (when (> (length changes) 0) (git 'status) (displayln "Adding...") (git 'add '-A) (displayln "Committing...") (git 'commit) (displayln "Pushing...") (git 'push))) ) (target 'windows (deps 'housekeeping) (displayln "Switching to x86_64-win32") (git 'switch "x86_64-win32")) (target 'linux-x86_64 (deps 'housekeeping) (displayln "Switching to x86_64-linux") (git 'switch "x86_64-linux")) (target 'linux (deps 'linux-x86_64)) )