
Linux Fu: The Great Power of Make - axiomdata316
https://hackaday.com/2018/06/22/linux-fu-the-great-power-of-make/
======
haolez
Makefiles really surprised me when I took some time to really learn how to
write them. It’s a very elegant language that feels more like a spreadsheet
than normal coding. Don’t judge me, but I think that the Makefile language is
one of those that will make you a better programmer overall after learning it.
Give it a try!

~~~
Roboprog
I often miss “make”. I suspect if there were no such thing as MS WIndows, we
would all (still) be using make, rather than each language having a handful of
competing build tools.

Code generation used to be trivial, as well, rather than having to write
“plugins” in XML build tool N.

------
beardicus
Semi-related, I love this article by Mike Bostock about using Make to capture
some design/data workflows:
[https://bost.ocks.org/mike/make/](https://bost.ocks.org/mike/make/)

I fiddled with this idea and made a Makefile that downloads a book from the
Internet Archive, extracts all the illustrations and tweaks them with
ImageMagick: [https://github.com/beardicus/bk-fig-
phillips/blob/master/Mak...](https://github.com/beardicus/bk-fig-
phillips/blob/master/Makefile)

This isn't the smartest Makefile... I've learned a bit since. Regardless, I
find it really fun to smoosh a process into a dependency graph frame-of-mind.

Does anybody else have any examples of "non-traditional" uses of Make?
Anything beyond compiling code or using it as a straightforward task runner?

------
aequitas
A former college introduced me to make as alternative for custom build
scripting (bash) I wrote for some Python projects. I always assumed it could
only be used for C style projects where you had compile steps and such, but
it's so much more and I haven't looked back since. Make is almost as
ubiquitous as shell script on any working environment and the mix of its own
declarative syntax and 'regular' imperative script allows almost any task to
be modelled.

------
RickJWagner
If only Maven were replaced with Make (in the Java world).

------
RickJWagner
Hacker News paydirt!

