kansas-lava-shake-0.1.2: src/Development/KansasLava/Shake.hs
module Development.KansasLava.Shake
( lavaRules
) where
import Development.Shake
import Development.Shake.FilePath
import Language.KansasLava.VHDL (writeVhdlPrelude)
lavaRules :: FilePath -> String -> String -> Rules ()
lavaRules modName vhdl ucf = do
"gensrc" </> modName <.> "vhdl" *> \target -> do
alwaysRerun
writeFileChanged target vhdl
"gensrc" </> modName <.> "ucf" *> \target -> do
alwaysRerun
writeFileChanged target ucf
"gensrc/lava-prelude.vhdl" *> \target -> do
alwaysRerun
withTempFile $ \tempFile -> do
liftIO $ writeVhdlPrelude tempFile
copyFileChanged tempFile target