app: clean all install
.....
.....
.....
That covers most (all?) eventualities. If the compile can go from a clean set of source files to a fully installed application, I know that it is complete.During the depths of development I might not include the 'make install' while I'm still getting source-file errors.
The reason for my 'belt and braces' use of 'make clean' is that on odd occasions my Makefiles haven't been as bullet-proof as they should have been and previously compiled object-files being linked in have caused compile errors which didn't actually exist.
sudo apt-get install X
is faster, stronger, easier than ./configure
make
sudo make install
but that is not true for any other software installation mechanism either CLI or GUI. (e.g. I could go drive to a town an hour away, watch a feature film and come back in the time anything Docker spends downloading irrelevant cruft if I really believed that it was going to make progress the whole time and not get stuck.)Intel is very slow to roll out new features such as SIMD instructions so most Linux distributions are targeted to machines that are a decade old. If you compile from scratch you can often get a big gain on the latest hardware.
Watching all your error messages scroll by is a useful prod for discipline and code cleanliness. (No error messages? what kind of whips and chains hacker are you?)
"Irrational" is the third (and subsequent) times you do `make clean && make all` in vain hope that the bug will just go away, without making other changes.