У меня есть функция, которая перестраивает цели, когда соответствующие команды изменения:Сохранение метаданных для правил
target :: FilePath -> [FilePath] -> String -> Rules()
target dst deps cline = do
let dcmd = dst <.> "x"
dcmd %> \out -> do
alwaysRerun
writeFileChanged out cline
return()
dst %> \out -> do
c <- readFile' dcmd
need deps
() <- cmd $ "../dumpdeps/dumpdeps " ++ out ++ " " ++ c
needMakefileDependencies $ out <.> "d"
return()
Я бы предпочел не трогать файловую систему для решения этой задачи, есть ли способ, чтобы сохранить соответствующую командную строку и вызвать окончательное правило, когда эта команда изменится?