Broken makefiles

I remain consistently amused by the makefiles we see. Some of them are broken beyond repair. If I told you where I found them, and the profile of the projects that they were in, you would have a hard time stopping laughing.
No, I am not talking about the auto-generated monstrosities from the GNU auto-tools. I am talking about hand written, and for the most part, borked beyond simple repair.
Since I get to teach a nice class on HPC applications shortly, I plan to cover the do’s and don’ts of makefiles. The one I am staring at now is going to play a starring role on how not to write a makefile.
Put simply, there is no excuse whatsoever, for shipping a broken makefile.