@@ -14,6 +14,7 @@ module Make
1414import qualified Data.ByteString.Builder as B
1515import qualified Data.Maybe as Maybe
1616import qualified Data.NonEmptyList as NE
17+import qualified System.Directory as Dir
1718import qualified System.FilePath as FP
1819
1920import qualified AST.Optimized as Opt
@@ -242,7 +243,8 @@ getNoMain modules main =
242243generate :: Reporting.Style -> FilePath -> B.Builder -> NE.List ModuleName.Raw -> Task ()
243244generate style target builder names =
244245 Task.io $
245− do File.writeBuilder target builder
246+ do Dir.createDirectoryIfMissing True (FP.takeDirectory target)
247+ File.writeBuilder target builder
246248 Reporting.reportGenerate style names target
247249
248250