
Building Web Applications with Make - ingve
http://www.smashingmagazine.com/2015/10/building-web-applications-with-make/
======
ForkFed
(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!

------
msoad
I like to write debuggable Node.js programs for very complicated builds and
rely on npm scripts for simpler build systems. It works good for me. Gulp is
also great since it's very debuggable.

~~~
williamcotton
[https://github.com/williamcotton/makeify](https://github.com/williamcotton/makeify)

------
lochlan
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.

------
kephra
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](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.

------
renownedmedia
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.

~~~
duaneb
> 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.

~~~
williamcotton
Yeah, good look compiling native node modules on OSX without those build
tools!

------
hendry
I use a Makefile to generate my blog:
[https://github.com/kaihendry/natalian/blob/mk/Makefile](https://github.com/kaihendry/natalian/blob/mk/Makefile)

------
reeboo
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.

~~~
dilap
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 :)

------
learning_still
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).

------
paxcoder
I object.

------
J_Darnley
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.

~~~
adrusi
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.

