Message of the Day:

Some friends and I have just launched MindThrow, a site designed to help you find new things to do based on your current interests. Check it out, and make sure to send any feedback you've got, positive or negative, to mindthrowATgmailDOTcom.

I Hate Makefiles


Categories:

I rather enjoy programming on interesting projects, but I loathe Makefiles. Because of Makefiles, I hate developing on any Linux variant. It's utterly painful.

Why do I hate Makefiles?

- Arbitrary organizational structures, or none at all! Every developer has their own Makefile style that's completely individual and probably not even self-consistent.

- Obfuscated behavior. One Makefile isn't sufficient to build anything substantial, so a single project is likely to have dozens of Makefiles in as many directories, all including each other and depending on globals and environment variables that are tedious to track down. It's every bad programming practice rolled together!

- Arcane syntax. What? You expected spaces and tabs to be interchangeable? Fool! And if you put the wrong number of whichever whitespace is expected you'll get an error, right? Nope, your command will just be silently ignored and you'll get some random fault in an entirely different area when something that depends on the ignored command fails. Furthermore, symbols and keywords have none of their traditional programming meanings, and procedural blocks are jumbled together with rules.

- Invisible influences. Directory paths are relative to who-knows-where. Most rules in a typical Makefile are implied rather than explicit. Most commands have unintuitive side-effects. Half the game is trying to prevent things you don't want from happening.

Don't get me started on autoconfig.

0 TrackBacks

Listed below are links to blogs that reference this entry: I Hate Makefiles.

TrackBack URL for this entry: http://www.mwilliams.info/mt/mttracks.cgi/3293

2 Comments

DeoDuce said:

dirka dirka dirka Osama jihad.

jez said:

Agreed, they are a pain. In their defense, they are no worse than any other 1970s technology. There are plenty of fine alternatives, but realistically they're not going to go away completely for quite a while...

I've managed to dodge autotools so far!

Leave a comment

The comment login system is acting strange. If you get an error message saying you aren't logged in when you are, just reload the comment page and try again. I'm trying to track this bug down, but it's not easy.

Supporters

Email plasticATgmailDOTcom for text link and key word rates.