7 ms·
GNU Make 4.4 released
- sgbeal 4y agoOh no! * WARNING: Deprecation! The following systems are deprecated in this release: - OS/2 (EMX) - AmigaOS - Xenix - Cray
- deleted 4y ago[deleted]
- sedatk 4y agoI'm more surprised that they were able to test those platforms until this release.
- nine_k 4y agoVMs and emulators go a long way. Also, this support is (or was) a work of enthusiasts, who keep (or kept) relevant hardware and software alive.
- chungy 4y agoMy condolences for the 3 users this affects.
- bragr 4y ago>- Xenix Does that include only Xenix proper (last release '89), or later SCO derivatives as well (SCO UNIX/OpenServer)? Asking purely out of curiosity.
- dilap 4y agoI wonder if I'll ever use a make newer than 3.81. Alas.
- chungy 4y agoWhat was special about 3.81? Even Debian 9 had Make 4.1. You either have a very old OS or are keeping it around for some reason.
- ixtenu 4y agoThe GnuWin32 port of Make [1] is version 3.81. I've used it when I needed GNU Make on Windows. I know there are other ways to get newer versions of Make on Windows, but the GnuWin32 port is simple, standalone, and it still works despite its age... [1]: https://gnuwin32.sourceforge.net/packages/make.htm https://gnuwin32.sourceforge.net/packages/make.htm
- yjftsjthsd-h 4y agoCurious; is there some reason that they're using that version of make?
- chungy 4y agoIt appears the project was abandoned (last release in 2006). Sensible enough, I wouldn't expect newer software to exist in a 2006 release. I assume GP knows about Cygwin and elects not to use it.
- AstralStorm 4y agoThere's also Mingw and MSYS versions of GNU Make, if you don't like Cygwin for some particular reason.
- dilap 4y ago3.81 is the last make release that was GPLv2, so that's what is bundled w/ macOS unfortunate situation.
- jgrahamc 4y agoTested with GMSL and no incompatibilities: https://github.com/jgrahamc/gmsl https://github.com/jgrahamc/gmsl
- toddm 4y agoWelp, I guess it's time for me to move away from UNICOS...
- voigt 4y agoI’m using Make for years now but usually only for very basic things. I always feel like it can do much more. Are there any good docs/books/articles about advanced usage of make?
- elchief 4y agoManaging Projects with GNU Make, 3rd Edition https://www.oreilly.com/library/view/managing-projects-with/0596006101/ https://www.oreilly.com/library/view/managing-projects-with/... O'Reilly is free via my public library. Yours might have the same
- mturmon 4y agoJohn Graham-Cumming (who's in this thread) wrote this book which I recommend: https://nostarch.com/gnumake https://nostarch.com/gnumake I just noticed he did some screencasts that make up a course: https://cloudflare.tv/shows/the-gnu-make-course https://cloudflare.tv/shows/the-gnu-make-course And here's links to a bunch of blog posts, from which I learned a lot: https://blog.jgc.org/2013/02/updated-list-of-my-gnu-make-articles.html https://blog.jgc.org/2013/02/updated-list-of-my-gnu-make-art... Of course, the manual itself is really very good!
- nerdponx 4y ago> Of course, the manual itself is really very good! I actually don't agree with this. It's really good as a "user guide", but it's not the best as a "reference manual". It does not always clearly define terms, it freely mixes technical terms and hand-waving language, the writing style tends toward an "expository prose" that makes it hard to find specific pieces of information. In general, it could do with some reorganization using the Diátaxis principles: https://diataxis.fr/ https://diataxis.fr/ It does have pretty good indices, and the quick reference is very helpful. However the HTML version (can't speak for the others) needs a lot more anchors, to make it easy to cross-link to individual elements, rather than just to chapter headings.
- AceJohnny2 4y agoHuh. I actually thought the manual was great, but you make excellent points that I happen to agree with. I'm very comfortable with the manual now, when I need to look something up, but that's because I've spent years looking things up in it, so I have a fairly good idea where to find things. Even so, it's sometimes confusing, e.g. where to find the definition of automatic variables like `$@`, `$^` and the like? When I started learning Make I remember it being infuriatingly hard to find the entry about a topic of interest. While the manual is great (as are most of GNU's major works!) compared to most of the software ecosystem [1], you're quite right that it can still improve a lot. [1] It's kind of amazing how even a company like Apple can have some pretty underwhelming documentation, see today's post about ExtensionKit https://news.ycombinator.com/item?id=33409558 https://news.ycombinator.com/item?id=33409558
- sylware 4y ago"GNU Make can now be built for MS-Windows using the Tiny C tcc compiler. Port provided by Christian Jullien <eligis@orange.fr>" Well, I'll use it to compile make on elf/linux.
- teddyh 4y agoBetter link: https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008... If this wasn’t LWN, I’d call it “blogspam”, but I know LWN does this to have their own archive which they can link to. But this does not mean that there’s any good reason for anyone outside of LWN to use LWN’s copy of the announcement, unless the original link had gone stale or something.
- deleted 4y ago[deleted]
- LukeShu 4y agoThey're both just mailing list archives; and HN has never really preferred one archive over another; even one when is "first party". Heck, most LKML posts get posted as lkml.iu.edu or lwn.net; rather than lore.kernel.org or lkml.org.
- teddyh 4y agoLWN is not a general mailing list archive; AFAIK, LWN only archives the posts which they want to link to in an accompanying or related article. LWN does not, AFAIK, archive every post on, in this case, the info-gnu list.
- LukeShu 4y agoI had been under the impression that LWN does archive the entire ML; but it seems that I was mistaken and that you are correct.
- nerdponx 4y ago> * WARNING: Backward incompatibility! > Previously each target in a explicit grouped target rule was considered individually: if the targets needed by the build were not out of date the recipe was not run even if other targets in the group were out of date. Now if any of the grouped targets are needed by the build, then if any of the grouped targets are out of date the recipe is run and all targets in the group are considered updated. This is a welcome change! I always thought this was how Make worked anyway, until I tried it and it didn't. Unfortunately none of my coworkers using stock Make on their Macs can benefit, but I can also insist that they install v4.4 since they all have Homebrew already. > .WAIT What's a use case for this? Is the idea that you can use it for explicitly sequencing build order of dependencies, without making them actually dependent on each other? Why would you want that? > let, intcmp The Turing Tarpit grows... do we have a Scheme interpreter in Make yet?
- david2ndaccount 4y agoYes, actually: https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html https://www.gnu.org/software/make/manual/html_node/Guile-Int...
- nerdponx 4y agoHah, I meant a Scheme interpreter implemented in a Makefile.
- deleted 4y ago[deleted]
- LukeShu 4y ago> > .WAIT > What's a use case for this? Is the idea that you can use it for explicitly sequencing build order of dependencies, without making them actually dependent on each other? Why would you want that? A use-case that I've wanted this for for a long time is to have build phases. `make install` should build things if necessary; but it'd also be great to have it build everything before it installs anything.
- rurban 4y ago
- cryptonector 4y agoYay for .WAIT.