Hacker News new | past | comments | ask | show | jobs | submit login

Really no.

The makefile syntax is obscure and hard to maintain.

We've been there. We don't need to go there again.

The stories of 'recursive makefile dependency hell' deserve to stay back in the dark ages of the 90s where they belong.

There's a reason lots of people are inventing new systems for doing these sorts of tasks (for example, spawning a local webserver to work with after compiling less and coffee files and parsing the output for errors and displaying them nicely, then watching the filesystem for changes and recompiling on demand).

It's not because make is evil, it's because make does a poor job of some of these sorts of tasks.

...if all you're doing is turning .coffee files into .js, it's file, but it's not a solution for complex website builds.




Yes, Makefile syntax gets somewhat obscure after the simplicity and power of target definitions and variables (e.g. http://mrbook.org/tutorials/make/).

Yes, Make does a poorer job at some of the tasks (although spawning a webserver process isn't one of them).

But I don't think having to write a plugin for EVERYTHING (http://gratimax.github.io/search-gulp-plugins/) is a sustainable answer.

P.S. I am sorry, I searched for "recursive makefile dependency hell", but I didn't find an explanation of what that is. It would be useful if you could provide some stories. I have been using Make only for two years, so maybe I haven't run into the exact problems yet.


He's probably referring to this old article - http://aegis.sourceforge.net/auug97.pdf which suggests that recursive make is bad because it can cause a lot of unnecessary processing even if you only changed one or two files. I think this just comes down to how you're using make - for me recursive make works just fine because I tend to run the specific target I need while I'm working (as it's usually in my cwd anyway) and only run the root `make all` on deployment.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: