@@ -32,7 +32,6 @@ import Data.Version (showVersion)
3232
3333import qualified Language.PureScript as P
3434import Language.PureScript.Errors.JSON
35−import Language.PureScript.Make
3635
3736import Options.Applicative as Opts
3837
@@ -43,6 +42,9 @@ import System.FilePath.Glob (glob)
4342import System.IO (hSetEncoding, hPutStrLn, stdout, stderr, utf8)
4443import System.IO.UTF8
4544
45+import Make
46+import Makefile
47+
4648data PCCMakeOptions = PCCMakeOptions
4749 { pccmInput :: [FilePath]
4850 , pccmOutputDir :: FilePath
@@ -71,14 +73,13 @@ compile :: PCCMakeOptions -> IO ()
7173compile PCCMakeOptions{..} = do
7274 input <- globWarningOnMisses (unless pccmJSONErrors . warnFileTypeNotFound) pccmInput
7375 when (null input && not pccmJSONErrors) $ do
74− hPutStrLn stderr "pcc: No input files."
75− exitFailure
76+ generateMakefile
77+ exitSuccess
7678 moduleFiles <- readInput input
7779 (makeErrors, makeWarnings) <- runMake pccmOpts $ do
7880 ms <- P.parseModulesFromFiles id moduleFiles
7981 let filePathMap = M.fromList $ map (\(fp, P.Module _ _ mn _ _) -> (mn, Right fp)) ms
80− foreigns <- inferForeignModules filePathMap
81− let makeActions = buildMakeActions pccmOutputDir filePathMap foreigns pccmUsePrefix
82+ let makeActions = buildMakeActions pccmOutputDir filePathMap pccmUsePrefix
8283 P.make makeActions (map snd ms)
8384 printWarningsAndErrors (P.optionsVerboseErrors pccmOpts) pccmJSONErrors makeWarnings makeErrors
8485 exitSuccess