Made Makefile #rash complient

This commit is contained in:
2026-08-17 16:37:48 +02:00
parent d2e2298731
commit 6834b3d2ac
3 changed files with 62 additions and 41 deletions
+47 -40
View File
@@ -1,51 +1,58 @@
#lang racket
#lang rash
(require racket-makefile
(require racket-makefile/rash
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" $<)))
(makefile git-cli
(target all
(displayln "use (make clean) or (make package)")
)
(target doc
(deps doc-target)
(displayln "Documentation built")
)
(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 showdoc
(deps doc)
(send-url/file doc-target))
(target version
(displayln
(git 'next-version)))
(target refresh
(displayln "Refreshing makefile")
(refresh-makefile)
(displayln "done.")
)
(target setup
(raco '(setup git)))
(target package
(deps clean)
(zip-package))
(target zip
(deps package))
(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)))
)