@@ -29,14 +29,28 @@ generateMakefile = do
29 let makefile = $(embedFile "pcc/Makefile")
29 let makefile = $(embedFile "pcc/Makefile")
30 exePath <- getExecutablePath
30 exePath <- getExecutablePath
31 putStrLn ""
31 putStrLn ""
32− putStrLn "Generating Makefile..."
32+ putStrLn $ "Generating Makefile... " ++ "pcc executable location " ++ exePath
33− putStrLn $ "pcc executable location: " ++ exePath
34 writeFile "Makefile" $ replace makefile pccPath exePath
33 writeFile "Makefile" $ replace makefile pccPath exePath
35 putStrLn "Done"
34 putStrLn "Done"
36 putStrLn "Run 'make' or 'make release' to build an optimized release build."
36 putStrLn "Run 'make' or 'make release' to build an optimized release build."
37+ putStrLn "Run 'make debug' to build an executable with assertions enabled and"
38+ putStrLn "suitable for source-level debugging."
37 putStrLn "The resulting binary executable will be located in output/bin (by default)."
40 putStrLn "The resulting binary executable will be located in output/bin (by default)."
38 putStrLn ""
41 putStrLn ""
43+generatePackagefile :: IO ()
44+generatePackagefile = do
45+ pkgfileExists <- doesFileExist "psc-package.json"
46+ when (not pkgfileExists) $ do
47+ let pkgfile = $(embedFile "pcc/psc-package.json")
49+ putStrLn "Generating psc-package.json..."
50+ writeFile "psc-package.json" $ B.unpack pkgfile
52+ putStrLn "Use the 'psc-package' utility to install or update packages."
40replace :: B.ByteString -> B.ByteString -> String -> String
54replace :: B.ByteString -> B.ByteString -> String -> String
41replace s orig repl = replace'
55replace s orig repl = replace'