runtime
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import Development.Shake
|
||||
import Development.Shake.Command
|
||||
import Development.Shake.FilePath
|
||||
import Development.Shake.Util
|
||||
|
||||
main = shakeArgs shakeOptions $ do
|
||||
action $ do
|
||||
sourceFiles <- getDirectoryFiles "" ["//*.scm"]
|
||||
need $ (-<.> "cps") <$> sourceFiles
|
||||
alternatives $ do
|
||||
"*.cps" %> \out -> do
|
||||
let scm = out -<.> "scm"
|
||||
need [scm]
|
||||
Stdout cps0 <- cmd
|
||||
"csc -debug 3"
|
||||
[scm]
|
||||
Stdout cps1 <- cmd
|
||||
"sed -e" ["s/##core#lambda/κ/g;s/lambda/λ/g;/\\[cps\\]/d"] (Stdin cps0)
|
||||
writeFile' out $ ";; -*- mode:scheme -*-\n" ++ cps1
|
||||
|
||||
phony "clean" $ do
|
||||
removeFilesAfter ".shake" ["//*"]
|
||||
liftIO $ removeFiles "." ["*.cps"]
|
||||
Reference in New Issue
Block a user