The gmake Debacle

Once upon a time, there was one make, and all was well within the universe.

And then a pothead known as RMS to some, and Jesus to others, decided to write a new make. This make, he decided, would break as many standards as possible in one go. He decided that this make would limit portability as much as a single build utility could.

gmake sucks such massive amounts of vinegar-soaked camel nuts that I’m not sure I can convey this rant into proper written language. There’s a lot of things about Linux that I don’t like, but the biggest one is gmake. Just in case you don’t know, gmake is the lamest piece of shit I’ve ever encountered as a programmer. It ignores standards and defies all logic and reason just so some lazy ass Linux programmer doesn’t have to hit tab in a build instruction block.

“Makefile”, line 42: Need an operator

This isn’t the first thing that comes to mind, but it’s the most annoying. Most make utilities require an operator in build instruction blocks in order to actually do something. They do this for sane and logical reasons. If you’ve ever used a sane make, then you know what I’m talking about. However, gmake chooses to blatantly ignore this requirement, executing anything. One might argue that this makes things easier, if you’re a lazy bastard. One might also argue that BSD make requires an operator in order to figure out when the instruction block has ended and that gmake is so sophisticated that it can figure it out without that. That’s actually the only valid argument I can think of. Too bad it’s wrong.

“Makefile”, don’t know how to make build.o. Stop.

Now this one really, really pisses me off. If you have an instruction target called “build” (which most Makefiles do), and a source file called “build.c,” or what have you, gmake shits its pants. When receiving make build in this case, gmake decides to completely ignore the instruction block, and try to compile build.c!

What were these fucktards thinking?

Why in the world make would ignore an instruction block in favor of a file without an extension specificed is beyond my ability to grasp. This is simply broken.

gmake,” don’t know how to make portability. Stop.

Sometimes I think RMS purposely designed gmake to break shit so people will use Linux, and thus his pothead GNU bullshit programs. I hate this shit. I run FreeBSD on the majority of my machines, and it really irks me that I have to install gmake just because some retard can’t follow standards. A BSD Makefile will work fine with gmake, but a gmake Makefile probably won’t work fine with a BSD make because it refuses to follow standards, thus breaking shit. This seems to be one thing Linux excells in.


0 TrackBacks

Listed below are links to blogs that reference this entry.

TrackBack URL for this entry: http://mt.ericw.org/mt-tb.cgi/281


Leave a comment


Name:
Email:
URL:   
Remember personal info?