diff --git a/shake-ats.cabal b/shake-ats.cabal
--- a/shake-ats.cabal
+++ b/shake-ats.cabal
@@ -1,5 +1,5 @@
 name:                shake-ats
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Utilities for building ATS projects with shake
 description:         Various helper functions for building [ATS](http://www.ats-lang.org/) with the [shake](http://shakebuild.com/) library
 homepage:            https://github.com/vmchale/shake-ats#readme
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
@@ -34,7 +34,7 @@
     show (Version (x:xs)) = show x ++ "." ++ show (Version xs)
 
 pkgHome :: Action String
-pkgHome = fromMaybe "/usr/local" <$> mh
+pkgHome = fromMaybe "/usr/local/" <$> mh
     where mh = fmap (++ "/.atspkg/") <$> getEnv "HOME"
 
 patsHome :: Version -> Action String
@@ -75,6 +75,7 @@
     out %> \_ -> do
         sources <- transitiveDeps [sourceFile]
         h <- patsHome v'
+        h' <- pkgHome
         let home = h ++ "lib/ats2-postiats-" ++ show v
         need sources
         copySources v v' sources
@@ -86,7 +87,7 @@
         command
             [EchoStderr False, AddEnv "PATSHOME" home, AddEnv "PATH" (home ++ "/bin:" ++ path), AddEnv "PATSHOMELOCS" "./.atspkg/contrib"]
             (home ++ "/bin/patscc")
-            ([sourceFile, "-atsccomp", "gcc -flto -I" ++ h ++ "/ccomp/runtime/ -I" ++ h, gcFlag gc, "-o", out, "-cleanaft", "-O2", "-mtune=native", "-flto"] <> toLibs libs)
+            ([sourceFile, "-atsccomp", "gcc -flto -I" ++ h ++ "/ccomp/runtime/ -I" ++ h ++ " -L" ++ h' ++ "/lib", gcFlag gc, "-o", out, "-cleanaft", "-O2", "-mtune=native", "-flto"] <> toLibs libs)
 
 -- | Build a @.lats@ file.
 atsLex :: Rules ()
@@ -139,7 +140,7 @@
 transitiveDeps [] = pure []
 transitiveDeps ps = fmap join $ forM ps $ \p -> do
     contents <- liftIO $ readFile p
-    let ats = fromRight (error p) . parseATS . lexATS $ contents
+    let ats = fromRight mempty . parseATS . lexATS $ contents
     let dir = takeDirectory p
     deps <- filterM doesFileExist $ fixDir dir . trim <$> getDependencies ats
     deps' <- transitiveDeps deps
