diff --git a/debian-build.cabal b/debian-build.cabal
--- a/debian-build.cabal
+++ b/debian-build.cabal
@@ -1,5 +1,5 @@
 name:                debian-build
-version:             0.9.0.0
+version:             0.9.1.0
 synopsis:            Debian package build sequence tools
 description:         This package provides build sequence functions
                      for debian package, and includes on-the-fly
diff --git a/src/Debian/Package/Build/Monad.hs b/src/Debian/Package/Build/Monad.hs
--- a/src/Debian/Package/Build/Monad.hs
+++ b/src/Debian/Package/Build/Monad.hs
@@ -20,7 +20,7 @@
 
        , Config, defaultConfig, buildDir, debianDirName, sourceExcludes
 
-       , Build, liftTrace, runBuild, askConfig
+       , Build, liftTrace, unBuild, runBuild, askConfig
        , bracketBuild, bracketBuild_
        ) where
 
@@ -144,9 +144,13 @@
 liftTrace :: Trace a -> Build a
 liftTrace =  lift . lift
 
+-- | Unpack 'Build' configuration monad into 'Trace'.
+unBuild :: Build a -> BaseDir -> Config -> Trace a
+unBuild b bd = runReaderT $ runReaderT b bd
+
 -- | Run 'Build' configuration monad
 runBuild :: Build a -> BaseDir -> Config -> Bool -> IO a
-runBuild b bd = runTrace . (runReaderT $ runReaderT b bd)
+runBuild b bd = runTrace . unBuild b bd
 
 -- | bracket for 'Build' monad
 bracketBuild :: Build a -> (a -> Build b) -> (a -> Build c) -> Build c
diff --git a/src/Debian/Package/Build/Sequence.hs b/src/Debian/Package/Build/Sequence.hs
--- a/src/Debian/Package/Build/Sequence.hs
+++ b/src/Debian/Package/Build/Sequence.hs
@@ -23,13 +23,15 @@
        , cabalGenOrigSources, cabalGenSources, cabalAutogenSources
 
        , genSources
+
+       , findGeneratedSourceDir
        ) where
 
 import System.FilePath ((</>), takeFileName, takeDirectory, takeBaseName)
 import System.Directory
   (getDirectoryContents, doesDirectoryExist, doesFileExist)
 import Control.Applicative (pure, (<$>), (<*>), (<|>))
-import Control.Monad (when)
+import Control.Monad (when, guard, msum)
 import Control.Monad.IO.Class (liftIO)
 import Control.Monad.Trans.Class (lift)
 import Control.Monad.Trans.Maybe (MaybeT(MaybeT), runMaybeT)
@@ -271,3 +273,16 @@
        return (p, package hpkg, Just $ hackage hpkg)
   <|>
   do fail "No source generate rule found."
+
+-- | Probe generated source directory path.
+findGeneratedSourceDir :: MaybeT Build FilePath
+findGeneratedSourceDir = do
+  bd  <- lift getBuildDir
+  fs  <- liftIO $ getDirectoryContents bd
+  msum
+    [ do MaybeT . liftIO $ guard <$> doesFileExist (path </> "debian" </> "control")
+         pure path
+    | f  <- fs
+    , f `notElem` [".", ".."]
+    , let path = bd </> f
+    ]
