First import of rash-makefile
This commit is contained in:
@@ -1,3 +1,37 @@
|
||||
# rash-makefile
|
||||
|
||||
racket-makefile functionality provided to the rash shell.
|
||||
`rash-makefile` is the Rash integration layer for `racket-makefile`.
|
||||
The core `racket-makefile` package deliberately has no dependency on Rash.
|
||||
|
||||
```racket
|
||||
#lang rash
|
||||
|
||||
(require rash-makefile)
|
||||
|
||||
(makefile demo
|
||||
(default-target all)
|
||||
(phony status all)
|
||||
|
||||
(target status
|
||||
(displayln "status"))
|
||||
|
||||
(target all
|
||||
(deps status)
|
||||
(displayln "all")))
|
||||
```
|
||||
|
||||
After Run, Rash line mode accepts:
|
||||
|
||||
```text
|
||||
make all
|
||||
make status
|
||||
```
|
||||
|
||||
Ordinary Racket expression mode still uses the same first-class procedure:
|
||||
|
||||
```racket
|
||||
(make 'all)
|
||||
(values make)
|
||||
```
|
||||
|
||||
Bare identifiers in a Rash `make` line are converted to symbols. Parenthesized arguments remain ordinary Racket expressions.
|
||||
|
||||
Reference in New Issue
Block a user