What have you used Makefiles for (besides build automation)

Solution 1:

My resume. LaTeX input, PDF output.

Solution 2:

I like Makefiles very much, especially for junior sysadmins.

Update the bind zonefile?

No problem: target has checkzone and checkconfig (out of memory) and only does sudo cp <editlocation> <reallocation>; git commit -a .... if everything seems basically fine...

Complex deployment?

No problem record it in a Makefile

I've pretty much used Makefiles anywhere where a script would have been appropriate also. Acutally I combine them, /usr/local/[s]bin/ is where the "single step" scripts are and the Makefile is in the working directory of the service in question.

Actually I have used them a lot more for the above reasons than for build systems - that is if you don't count latex and builds from upstream.

Solution 3:

Since we're pretty much a Ruby shop, I use Rake instead of Make. I've automated the following with Rake, and it shouldn't be too difficult to do these with Make:

EC2 node maintenance. Create and terminate instances.

Create a tarball and upload it to S3.

Deploy server configurations; mainly by calling rsync for directories and directly copying singleton files.

Convert Ruby DSL code into JSON data.

Handle software releases in a git repository (creating new branches, tags, etc).