diff --git a/Config/Dyre/Compile.hs b/Config/Dyre/Compile.hs
--- a/Config/Dyre/Compile.hs
+++ b/Config/Dyre/Compile.hs
@@ -27,11 +27,16 @@
     -- Compile occurs in here
     let errFile = cacheDir </> "errors.log"
     result <- bracket (openFile errFile WriteMode) hClose $ \errHandle -> do
-        ghcOpts <- makeFlags params configFile tempBinary
+        ghcOpts <- makeFlags params configFile tempBinary cacheDir
         ghcProc <- runProcess ghc ghcOpts (Just cacheDir) Nothing
                               Nothing Nothing (Just errHandle)
         waitForProcess ghcProc
 
+    -- BEGIN DEBUG OUTPUT
+    ghcOpts <- makeFlags params configFile tempBinary cacheDir
+    output $ "Compile command: " ++ (show $ ghc:ghcOpts)
+    -- END DEBUG OUTPUT
+
     -- Display a helpful little status message
     if result /= ExitSuccess
        then output $ "Error occurred while loading configuration file."
@@ -48,10 +53,12 @@
                   else return . Just $ errors
 
 -- | Assemble the arguments to GHC so everything compiles right.
-makeFlags :: Params cfgType -> FilePath -> FilePath -> IO [String]
-makeFlags Params{ghcOpts = flags, hidePackages = hides} cfgFile tmpFile = do
+makeFlags :: Params cfgType -> FilePath -> FilePath -> FilePath -> IO [String]
+makeFlags Params{ghcOpts = flags, hidePackages = hides}
+          cfgFile tmpFile cacheDir = do
     currentDir <- getCurrentDirectory
     return . concat $ [ ["-v0", "-fforce-recomp", "-i" ++ currentDir]
+                      , ["-odir", cacheDir, "-hidir", cacheDir]
                       , prefix "-hide-package" hides, flags
                       , ["--make", cfgFile, "-o", tmpFile]
                       ]
diff --git a/dyre.cabal b/dyre.cabal
--- a/dyre.cabal
+++ b/dyre.cabal
@@ -1,5 +1,5 @@
 name:          dyre
-version:       0.6
+version:       0.6.1
 category:      Development, Configuration
 synopsis:      Dynamic reconfiguration in Haskell
 
