Quieted make a little.
authorDavid Cock <david.cock@inf.ethz.ch>
Mon, 31 Aug 2015 11:15:49 +0000 (13:15 +0200)
committerDavid Cock <david.cock@inf.ethz.ch>
Mon, 31 Aug 2015 11:15:49 +0000 (13:15 +0200)
make help now only produces 600kB of spew, rather than >1MB, and runs 30%
faster.

Signed-off-by: David Cock <david.cock@inf.ethz.ch>

hake/Main.hs
hake/RuleDefs.hs

index c0a5a15..45941a4 100644 (file)
@@ -435,6 +435,7 @@ makefilePreamble h opts args =
              "# Hake was invoked with the following command line args:" ] ++
            [ "#        " ++ a | a <- args ] ++
            [ "# ",
+             "Q=@",
              "SRCDIR=" ++ opt_sourcedir opts,
              "HAKE_ARCHS=" ++ intercalate " " Config.architectures,
              "include ./symbolic_targets.mk" ])
@@ -646,16 +647,9 @@ makeDirectories h dirs = do
     hPutStr h "directories: $(DIRECTORIES)"
     hPutStrLn h ""
     hPutStrLn h "%.marker:"
-    hPutStrLn h "\tmkdir -p `dirname $@`"
-    hPutStrLn h "\ttouch $@"
-
-makeDir :: Handle -> FilePath -> IO ()
-makeDir h dir = do
-    hPutStrLn h $ "hake_dirs: " ++ dir ++ "\n"
-    hPutStrLn h $ dir ++ ":"
-    hPutStrLn h $ "\tmkdir -p " ++ (takeDirectory dir)
-    hPutStrLn h $ "\ttouch " ++ dir
-    hPutStrLn h ""
+    hPutStrLn h "\t$(Q)echo \"MKDIR $@\""
+    hPutStrLn h "\t$(Q)mkdir -p `dirname $@`"
+    hPutStrLn h "\t$(Q)touch $@"
 
 --
 -- The top level
index 9445a62..c9d4acc 100644 (file)
@@ -339,7 +339,7 @@ assemblerFilePath opts src = optSuffix opts </> replaceExtension src ".s"
 --
 makeDependArchSub :: Options -> String -> String -> String -> String -> [ RuleToken ]
 makeDependArchSub opts phase src objfile depfile =
-   [ Str ("@echo Generating $@"), NL ] ++
+   [ Str ("@if [ -z $Q ]; then echo Generating $@; fi"), NL ] ++
      makeDepend opts phase src objfile depfile
 
 makeDependArch :: Options -> String -> String -> String -> String -> HRule
@@ -358,7 +358,7 @@ makeDependObj opts phase src =
 -- Make depend for a C++ object file
 makeDependCxxArchSub :: Options -> String -> String -> String -> String -> [ RuleToken ]
 makeDependCxxArchSub opts phase src objfile depfile =
-   [ Str ("@echo Generating $@"), NL ] ++
+   [ Str ("@if [ -z $Q ]; then echo Generating $@; fi"), NL ] ++
      makeCxxDepend opts phase src objfile depfile
 
 makeDependCxxArch :: Options -> String -> String -> String -> String -> HRule