     // TODO: Have it return a Bool indicating whether dependencies were
     //       changed to let us know if we need to recompile
     ensureHaveDependencies()
+    ensureDirectoryExists(buildDirectory)
 
     checkPreconditions()
 

    return NSString(data: data, encoding: NSUTF8StringEncoding)!
  }

}


    switch package.targetType {
      case .Executable:
        ensureDirectoryExists("bin")

        // First check for modification-times of the output executable
        let binFilePath = "bin/\(roostfile.name.lowercaseString)"
        let binFileModificationDate = getFileModificationDate(binFilePath)
