Live data from Hacker News

The Ultimate Frontend Build tool: make

algorithms.rdio.com

41–50 of 121 posts

Re: The Ultimate Frontend Build tool: make

#41
post #37

Earlier quoted context omitted.

And yet most contemporary hipster build systems are all just shiny make reinventions.

Reinventions that are cross-platform (this actually matters).

What platforms doesn't make support? AFAIK GNU make supports pretty much everything and there are versions of make for Solaris/BSDs.

Re: The Ultimate Frontend Build tool: make

#42
post #33

Earlier quoted context omitted.

A cursory google search should have shown that gmake (GNU Make) is widely available and used on FreeBSD.

Yes it is available and I guess I sort of boxed myself in when I said not available. It's not available as a default install ... at least not on the FreeBSD 10 install disk I used.

FreeBSD tries not to install much third party software with the default install. Everything is available in ports/pkg. The things included in the default install usually BSD licensed/BSD versions. Personally I prefer having third party software disassociated from the core operating system. For me at least, it makes tracking critical updates a lot easier.

Re: The Ultimate Frontend Build tool: make

#43

God I hate make. I hate make so very, very much. Compiling code isn't that hard. I swear to the programming lords on high it isn't. Here's a wonderfully useful open source project - Google gperftools [1]. It includes TCMalloc amongst other things. The Makefile.in is 6390 lines long. Configure is 20,767 lines long. Libtool is 10247 lines long. That's fucking insane. Compiling OpenSource is such a pain in the ass. Part…

Count me in as a Makefile hater. I'm even using it to manage a portable /home directory and it's just making me hate it even more. Why did all the alternatives have to fail or be worse than Make?

If you're managing dotfiles with Make (which I attempted once...) then may I direct you to GNU Stow instead? It's much easier to manage a bunch of files centrally and just symlink to them all:

http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to...

Re: The Ultimate Frontend Build tool: make

#44
I've started using Make to build and run docker containers in the dev environment. It's not the perfect tool, and neither are my skills that great with Make, but it sure gets the job done and enables docker commands to be shared between devs. For example this Makefile (still under development) for PostgreSQL https://github.com/GlobAllomeTree/docker-postgresql/blob/mas...

Re: The Ultimate Frontend Build tool: make

#45
While I'm a big fan of the Unix Philosophy, I've found gulp to be incredibly satisfying as a build tool. I cd into my project directory and run gulp, then all my SCSS/CS gets compiled, watched, and re-compiled on change, with LiveReload pushing style changes straight to the browser; and whenever I make a change to my server (Node.js) code, it gets compiled and run against my tests. Then when I'm ready to push to production, I run gulp build and then push it up :) Oh, and my whole gulpfile is I don't have anything against Make, I've never used it; judging by the code samples in the article, however, and contrasting that with my gulpfile (which, it's worth noting, didn't require me to learn a new language/DSL, just a dead-simple API), I feel much more empowered by gulp than make.

Somewhat relevant: I've also found gulp much easier to use and maintain than Grunt.

Re: The Ultimate Frontend Build tool: make

#46
post #37

Earlier quoted context omitted.

Reinventions that are cross-platform (this actually matters).

What platforms doesn't make support? AFAIK GNU make supports pretty much everything and there are versions of make for Solaris/BSDs.

Make exists everywhere, but you have to explicitly write separate rules for every system.

Re: The Ultimate Frontend Build tool: make

#47
I've been using make for front-end builds for a while. two tools I've been finding to be indisposable are jq and mustache templates. I made a php based mustache/cli implementation here:

https://gist.github.com/Breton/7556390

This enables you to put a lot of your configuration in a json file, such as actual lists of files (which make is actually terrible at), have a decent way of getting json data out into make processes, and build files templated out of that json configuration, such as ssi files that set whether to load built JS or seperate script tags (also generated out of the same json config).

SO you get the declarative stuff in the declarative JSON format, and the stuff that make is good at: incremental builds, stays in make.

Re: The Ultimate Frontend Build tool: make

#48
post #35

You can't write a blog article about make while comparing it to a bunch of Node.js build tools and not mention the word Windows once. Make is good for you because you're not an open-source project built on a cross-platform development platform. All of your employees use Macs and your servers are Linux. For OS Node projects make is simply out of the question because it is janky on Windows and every makefile ever writt…

You will save so much time developing node if you install Ubuntu with virtual box and vagrant. All are free, and then you can really participate in the os world without having to hack everything to work on windows.

Re: The Ultimate Frontend Build tool: make

#49

While I'm a big fan of the Unix Philosophy, I've found gulp to be incredibly satisfying as a build tool. I cd into my project directory and run gulp, then all my SCSS/CS gets compiled, watched, and re-compiled on change, with LiveReload pushing style changes straight to the browser; and whenever I make a change to my server (Node.js) code, it gets compiled and run against my tests. Then when I'm ready to push to prod…

I like Gulp a lot, but I'd hardly say it's perfect. It's weird, it doesn't really make sense that everything is a stream. For example, why is watching something a stream?

With that being said, it's miles above Grunt.

Re: The Ultimate Frontend Build tool: make

#50
I'm glad to see the resurgence in make's popularity among front-end developers. It really is a great tool for not just building apps, but generating files that depend on other files in a declarative way. I manage my website with just make, pandoc, and rsync; and I manage my various ssh configurations with make and m4 (ssh config doesn't have an include directive!). A while ago I wrote an article to help out some front-end dev friends get acquainted with make, maybe someone else will find it useful: http://justinpoliey.com/articles/make-for-front-end-developm...
Post reply on HN