diff --git a/shake-ext.cabal b/shake-ext.cabal
--- a/shake-ext.cabal
+++ b/shake-ext.cabal
@@ -1,5 +1,5 @@
 name:                shake-ext
-version:             0.5.0.0
+version:             0.5.0.1
 synopsis:            Helper functions for linting with shake 
 description:         This package provides several linters out of the box, as well as functionality for building ATS source files with [shake](http://shakebuild.com/).
 homepage:            https://hub.darcs.net/vmchale/shake-ext
diff --git a/src/Development/Shake/ATS.hs b/src/Development/Shake/ATS.hs
--- a/src/Development/Shake/ATS.hs
+++ b/src/Development/Shake/ATS.hs
@@ -48,14 +48,19 @@
 
 -- TODO musl?
 atsBin :: Version -> Bool -> [String] -> String -> String -> Rules ()
-atsBin v gc libs sourceFile out =
-    out %> \_ -> do
+atsBin v gc libs sourceFile out = do
+
+    atsDeps
+
+    priority 0.75 $ out %> \_ -> do
         need [sourceFile]
         let home = "/usr/local/lib/ats2-postiats-" ++ show v
         cmd_ ["mkdir", "-p", dropDirectory1 out]
         let toLibs = fmap ("-l" <>)
         command [EchoStderr False, AddEnv "PATSHOME" home] "patscc" ([sourceFile, "-atsccomp", "gcc -flto -I/usr/local/lib/ats2-postiats-0.3.8/ccomp/runtime/ -I/usr/local/lib/ats2-postiats-0.3.8/", gcFlag gc, "-o", out, "-cleanaft", "-O2", "-mtune=native", "-flto"] <> toLibs libs)
 
+-- atslex  < file.lats > file_lats.dats
+
 cleanATS :: Rules ()
 cleanATS =
 
@@ -78,7 +83,7 @@
         atsCommand version sourceFile out
 
 atsDeps :: Rules ()
-atsDeps =
+atsDeps = priority 0.25 $
 
     ["//*.dats", "//*.sats"] |%> \out -> do
         contents <- liftIO $ readFile out
