
Hi,
How can I teach shake to rebuild a rules when the argument of the cmd change?
wrap the arguments that are subject to change into an oracle to detect changes and to re-run all actions that depend on the value: {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE TypeFamilies #-} import Development.Shake import Development.Shake.Classes newtype GetCmdlineArgs = GetCmdlineArgs () deriving (Show,Typeable,Eq,Hashable,Binary,NFData) type instance RuleResult GetCmdlineArgs = String main :: IO () main = shake shakeOptions $ do want ["foo.txt"] getCmdlineArgs <- addOracle $ \(GetCmdlineArgs ()) -> return "This is a test!" "*.txt" %> \out -> do args <- getCmdlineArgs (GetCmdlineArgs ()) command [FileStdout out] "echo" [args] Best regards, Peter