Merge remote-tracking branch 'upstream/master' into sockeye
[barrelfish] / hake / RuleDefs.hs
index 444562f..9313d23 100644 (file)
@@ -778,6 +778,28 @@ skateGenSchemas opts schema =
       ]]
 
 
+--
+-- Build SKB facts from Sockeye file
+--
+sockeyeProgLoc = In InstallTree "tools" "/bin/sockeye"
+sockeyeSocFileLoc d = In SrcTree "src" ("/socs" </> (d ++ ".soc"))
+sockeyeFactFilePath d = "/sockeyefacts" </> (d ++ ".pl")
+sockeyeFactFileLoc d = In BuildTree "" $ sockeyeFactFilePath d
+
+sockeye :: String -> HRule
+sockeye net = 
+    let
+        factFile = sockeyeFactFilePath net
+        depFile = dependFilePath factFile
+    in Rules
+        [ Rule
+            [ sockeyeProgLoc
+            , Str "-o", Out "" factFile
+            , Str "-d", Out "" depFile
+            , sockeyeSocFileLoc net
+            ]
+        , Include (Out "" depFile)
+        ]
 
 --
 -- Build a Fugu library