procmake is a relatively simple Bash shell script that acts
like a wrapper for GNU Make. This means that instead of calling make you call
procmake, with any parameters you'd normally use with make, and
the exit code is also the one make would produce.
What procmake does is to replace all output from make with a simple
percentage and an ETA, which give you an idea about how the make process is coming
along. When it's done it displays the exit code from make and also uses
it for it's own exit code.

The trick is simple: procmake first does a simulation run of
the make process, with debug flags enabled, and counts the occurances of a
certain debug report line. During the following actual run, also with debug
enabled, it counts those lines again and displays the percentage. See the
source for the gruesome details.
Starting with version 0.3, procmake also attempts to estimate
how much more time the make process is going to take. It uses a sliding door
tehnique for this (thanks to Kees Cook for the idea). Simply put: if reaching
this percentage took this much, the rest will probably take this much. How
often it does this estimation can be customized and there are 3 different
approaches that can be used. Read the script in order to find out more about
them.
In order to change the behaviour for procmake you have to edit
it and change some options at the beginning. There are extensive explanations
inside the script. Please contact me if you feel something can be
improved.
Also starting with version 0.3 there is a batch mode available. In this
mode, procmake supresses all its regular output. It only displays
the number of debug lines found during the test run, then during the actual
run it shows a single dot on a newline for every debug line. All calculations
(percentage, ETA) are left for the frontend to do.
procmake does not produce a perfectly reliable percentage or
ETA, because the debug lines that it watches for are not evenly distributed
accross the make targets and getting from one debug line to the next often
doesn't take the same amount of time. In some (few) cases, the debug lines
during the actual run are fewer or more than in the test run, which results in
weird percentages.
The bottom line is that procmake means simply to offer some
peace of mind for the impacient and replace make output with something that
might make a little more sense to a newbie.
I've used it to compile many applications, including the kernel. I would say it performs quite satisfactory in almost all cases and I use it regularly now.
If you have improvement suggestions or have noticed bugs please see the bottom of the page for my contact details.
procmake is free to use and to distribute further, as long as
no modifications are made upon it. I make no guarantees for its effects and
functionality. By using it you assume all the responsability for the
outcome. Software can be based on it without any restrictions.