tools: just run Shake.hs to compile it
This commit is contained in:
parent
eaf8853a9f
commit
1930213407
21
Shake.hs
21
Shake.hs
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env stack
|
#!/usr/bin/env stack
|
||||||
{- stack runghc --verbosity info
|
{- stack exec --verbosity info
|
||||||
--package base-prelude
|
--package base-prelude
|
||||||
--package directory
|
--package directory
|
||||||
--package extra
|
--package extra
|
||||||
@ -7,6 +7,7 @@
|
|||||||
--package safe
|
--package safe
|
||||||
--package shake
|
--package shake
|
||||||
--package time
|
--package time
|
||||||
|
-- ghc
|
||||||
-}
|
-}
|
||||||
{-
|
{-
|
||||||
One of two project scripts files (Makefile, Shake.hs).
|
One of two project scripts files (Makefile, Shake.hs).
|
||||||
@ -14,7 +15,7 @@ This one provides a stronger programming language and more
|
|||||||
platform independence than Make. It will build needed packages (above)
|
platform independence than Make. It will build needed packages (above)
|
||||||
on first run and whenever the resolver in stack.yaml changes.
|
on first run and whenever the resolver in stack.yaml changes.
|
||||||
To minimise such startup delays, and reduce sensitivity to git checkout,
|
To minimise such startup delays, and reduce sensitivity to git checkout,
|
||||||
compiling is recommended: ./Shake.hs compile
|
compiling is recommended; run the script in interpreted mode to do that.
|
||||||
|
|
||||||
It requires stack (https://haskell-lang.org/get-started) and
|
It requires stack (https://haskell-lang.org/get-started) and
|
||||||
auto-installs the packages above. Also, some rules require:
|
auto-installs the packages above. Also, some rules require:
|
||||||
@ -48,7 +49,7 @@ import "directory" System.Directory as S (getDirectoryContents)
|
|||||||
|
|
||||||
usage = unlines
|
usage = unlines
|
||||||
["Usage:"
|
["Usage:"
|
||||||
,"./Shake.hs compile # compile this script (recommended)"
|
,"./Shake.hs # compile this script"
|
||||||
,"./Shake # show commands"
|
,"./Shake # show commands"
|
||||||
,"./Shake all # generate everything"
|
,"./Shake all # generate everything"
|
||||||
,"./Shake docs # generate general docs"
|
,"./Shake docs # generate general docs"
|
||||||
@ -86,13 +87,13 @@ main = do
|
|||||||
|
|
||||||
phony "help" $ liftIO $ putStrLn usage
|
phony "help" $ liftIO $ putStrLn usage
|
||||||
|
|
||||||
phony "compile" $ need ["Shake"]
|
-- phony "compile" $ need ["Shake"]
|
||||||
|
--
|
||||||
"Shake" %> \out -> do
|
-- "Shake" %> \out -> do
|
||||||
need [out <.> "hs"]
|
-- need [out <.> "hs"]
|
||||||
unit $ cmd "./Shake.hs --version" -- install libs via shebang line
|
-- unit $ cmd "./Shake.hs --version" -- install libs via shebang line
|
||||||
unit $ cmd "stack ghc Shake.hs"
|
-- unit $ cmd "stack ghc Shake.hs"
|
||||||
putLoud "You can now run ./Shake instead of ./Shake.hs"
|
-- putLoud "You can now run ./Shake instead of ./Shake.hs"
|
||||||
|
|
||||||
phony "all" $ need ["docs", "website"]
|
phony "all" $ need ["docs", "website"]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user