You've never done a parallel build on a large project, have you? The output gets disgustingly obnoxious (the include path being the worst offender). You can't see what the compiler is doing, and that's the point.
Instead, it's better to just print a simple line like "Compiling File1.c" -- that's 90% of what you want to know anyway. If something goes wrong, use the -n option to see the compile line. The --trace option is even better.
A common workaround up to this point was to conditionally define a variable like QUIET=@, and then use that at the start of any actions ($(QUIET) $(CC) ...). Redefining QUIET to empty lets you see the line. I prefer the -n option, but it might not be as portable.
In reality, you only care about the compile options when debugging the build process itself. But in normal usage, get rid of the internals and just let me see the results of the compilation.