20 comments

[ 4.7 ms ] story [ 51.3 ms ] thread
Why is this website being tricky about letting me select text? Some invisible overlay it seems. I'll just have Firebug delete a few elements and be happy.

> GNU Make 3.81

My god. What kind of ancient system is that? I didn't even Debian was that outdated.

Why is it a surprise that make is good for controlling file transformations? Other than that it reads like a good introduction to make.

OS X ships with that version of Make.
The article says it is OS X. Maybe this is because of Apple not wanting to use something licensed under GPL-3?
A lot of the web development community, especially the section that I get the impression smashingmagazine caters to, doesn't know much about Unix or C programming. If they've heard of make, they probably know it as "that ancient cryptic tool for compiling C++ programs" or "that command that I typed to install that one program on Mac".

I hope this doesn't come across as condescending, if they can get by fine without using make then there's no reason they ought to be expected to be familiar with it.

Just a bit of devils advocacy here...

"Chances are, most computers you log in to will already have it installed and available to use."

To the best of my knowledge, Make isn't included in OSX. While it can be easily via Xcode, lacking this utility can be frustrating to beginners who simply download Node and want to build a project.

> While it can be easily via Xcode, lacking this utility can be frustrating to beginners who simply download Node and want to build a project.

Well, NO developer tools are provided by default. Why on earth would you want to use node without them? To my knowledge, Ubuntu also requires build-essential to have any of the developer tools.

Yeah, good look compiling native node modules on OSX without those build tools!
Thanks for sharing this. This article was really helpful to a newb like myself and explained things a lot of articles like this skip over (like the '-' in the cat command).
Make existed, people didn't like it, they came up with different build tools, now those tools are too numerous and too specific, now make doesn't look too bad! Full circle indeed.
I despise Make, and yet I still use it because it ends up being the best "good enough for now" solution to put in place.
make's not bad! most of the intended replacements have the surprising quality of actually being worse.

two attempts to actually improve the state of the art i've found interesting are tup and (the various implementations of) redo. may be newer well-thought out stuff, too.

...but i'm blissfully unaware & unneeding of the latest make-tool developments these days, coding simple Go and obj-c stuff :)

Make has a branding problem. Most people consider it a build tool for C programs when it's actually a declarative language for defining relationships between files. It's been a viable tool for decades (talk about a mature product!) because of its power and flexibility. And no build tool matches its wonderful accessibility, since you can just drop arbitrary shell commands in your recipes.
>And no build tool matches its wonderful accessibility, since you can just drop arbitrary shell commands in your recipes.

Um, yes, there are plenty of build systems that have the flexibility and power of make. And some without the awful warts of make... and some that actually allow for bottom-up dependency declaration.

You know, the way that actually makes some sense. But as long as we have people like you giving lip service to make, we're stuck with what ships in every base-devel package.

Make has a templating system, e.g. to generate .html file automatically from .t fragments. My Make_HERE_CMS is based on Make and here Scripts.

Look at: http://kephra.de/blog/Make_here_CMS.html

oh well I should really document the xslt part for the left side picture gallery of my site.

(full disclosure: I'm the maker of make)

make might not be the beauty in your cheerleader team of build tools, but it gets things actually done - that's what it was made for ... it's for devs who want to make things - hence its choice of name!