Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Managing projects with GNU make

    Managing projects with GNU make

    Robert William Mecklenburg · 2005

    ProgrammingSoftware Engineering
    Open LibraryAmazon
    Stats for nerds
    3recommend
    8mentions
    8people
    2009–2023years
    38% recommend63% neutral

    Mentions per year

    20092011201320152017201920212023

    What Hacker News says

    1. alwillisJan 2023
      Before a couple of years ago, I had never written a Makefile in my life.

      I ended up using Make after experiencing web project builder merry-go-round du jour of Grunt, Gulp, npm/yarn scripts, WebPack, etc.

      Of course I had read all of the Make FUD… but like almost all things in computing (Vim vs. Emacs, tabs vs. spaces, Mac vs. Windows) you can't take it too seriously.

      For me, similarly to when I went through several editors before I discovered Vim, Make has been around long enough and people have used it to address the hairiest build/dependency issues that many of the new tools have yet to address.

      Let me address a few common issues.

      IMHO the syntax isn't that bad. Like almost any programming language, you can write a clean, well-documented Makefile following best practices or you can slap something together with no planning and have an indecipherable page of junk.

      And like many languages, many folks never learn to write Makefiles properly. I get it—most Makefiles in the wild are close to unreadable and are mostly undocumented.

      And because Make has been around since the '70s, there's lots of hard-earned wisdom in blog posts and forums readily available going back decades.

      O’Reilly's book "Managing Projects with GNU Make" (3rd edition) does a great job at getting someone up and running with Make. And the online documentation [1] is also quite good.

      But the most important thing is I'm much more productive using Make instead of messing around with the various JavaScript build tools and their plugins. It's easy to integrate JavaScript, command line, Ruby, etc. tools with Make to get my projects built, linted, tested, packaged and deployed.

      And having native support for Make in Vim/Neovim [2] is just the cherry on top. And it's still under active development [3] with bug fixes and new features.

      Perhaps the best thing about Make: there's no dependency graph/build web project issue it can't handle. Writing clean, readable and well-documented may take a little more effort but it's worth it IMHO.

      [1]: https://www.gnu.org/software/make/

      [2]: https://vimways.org/2018/runtime-hackery/

      [3]: https://lwn.net/Articles/913253/

      thread
    2. elchiefOct 2022
      Managing Projects with GNU Make, 3rd Edition

      https://www.oreilly.com/library/view/managing-projects-with/...

      O'Reilly is free via my public library. Yours might have the same

      thread
    3. papitoDec 2019
      Managing Projects with GNU Make by O'Reilly is a good start. Make is much less mystifying if you get through all of its quirks. Make is not great in many ways (significant tabs are annoying, for example), but it's no SBT.
      thread
    4. turtleyachtApr 2023
      My ideal approach to Gradle would be reading every User Manual [1] starting from v0.7 [2]. But not even an entire workweek is enough for that kind of meditative study.

      As a comparison, building Java with make:

      https://www.oreilly.com/openbook/make3/book/ch09.pdf [PDF]

      From Managing Projects with GNU Make 3e (2004) by Robert Mecklenburg

      [1] https://gradle.org/releases

      [2] https://docs.gradle.org/0.7/userguide/userguide.html

      thread
    5. dijitJan 2023
      I'm not writing C. so I'm not sure what you mean, I mentioned ./configure as a solution to a problem because it was obviously a big enough problem;

      To go into issues though:

      Make itself executes by default with `sh` which is wildly different between platforms.

      Even if you write portable enough shell; Paths are still incompatible between OS's and distros.

      You still must ship your tools, which is a direct contradition of what is mentioned.

      In fact; I just googled it and this chapter from Managing Projects with GNU Make; talks about the issues in making Make (GNU Make, as opposed to BSD Make, which is different enough to have broken my things!): portable

      https://www.oreilly.com/library/view/managing-projects-with/...

      thread
    6. eralpsApr 2020
      I am definitely amazed and grateful like others by the work involved in writing this book. The attention to detail is visible from the first parts of the README. Clear explanations for everything.

      I am also a sucker for clean written Makefiles. I have "Managing Projects with GNU Make" book that I keep in my to-read list (shamefully putting reading it off). Checking out the Makefile in the repository was a delight.

      thread

    Related

    The GNU make bookJohn Graham-Cumming
    2015–2024

    The GNU make book

    John Graham-Cumming
    6 recommend · 12
    Cover of Managing Projects with make
    2013–2024

    Managing Projects with make

    Andy Oram
    4 recommend · 5
    Cover of Pro Git
    2009–2026

    Pro Git

    Scott Chacon
    142 recommend · 173
    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951
    Cover of Making Software
    2012–2024

    Making Software

    Andy Oram
    12 recommend · 30
    Cover of Software tools
    2008–2026

    Software tools

    Brian W. Kernighan
    21 recommend · 44
    Building GitJames Coglan
    2019–2026

    Building Git

    James Coglan
    19 recommend · 29
    Cover of Producing Open Source Software
    2008–2025

    Producing Open Source Software

    Karl Fogel
    21 recommend · 27