[HN Gopher] Checkmake: Experimental Linter/Analyzer for Makefiles ___________________________________________________________________ Checkmake: Experimental Linter/Analyzer for Makefiles Author : harporoeder Score : 48 points Date : 2022-08-14 16:09 UTC (6 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | vlle wrote: | baby wrote: | Do we still need makefiles :(? What's the alternative? | maccard wrote: | I still use makefiles for a wrapper around the build steps. How | else do you handle the magic incantation for aws ecr get-login- | password --region region | docker login --username AWS | --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com | docker push <...> | | No suggestions on better alternatives though unfortunately | shepherdjerred wrote: | I've found Earthly[0] to be a good alternative. Its syntax is | reminiscent of both Make and Dockerfiles. | | I still heavily use Makefiles at my workplace. It seems to be | common with Go projects. | | [0]: https://earthly.dev/ | mgradowski wrote: | Excellent name. | t6jvcereio wrote: | I hate puns in names of tools. Makes my brain stutter. | Groxx wrote: | Hmm. `--list-rules` doesn't seem to work (in the docker version | anyway), and I threw it at an absolutely awful Makefile (cyclic | dependencies, variable spelling errors making them empty, several | other clear problems) both before and after I rewrote the whole | thing... | | ... and it's only complaining about targets over 5 lines long | (really? some of the CLI tools I'm running take 20+ lines of | flags spread out for readability, I'm not going to shrink that) | and one or two missing .PHONY markers (it's correct about those). | There's one fewer missing .PHONY after my rewrite. | | Given the list in the rules folder, kinda seems like it doesn't | check enough to be useful. As much as I would truly love a brutal | make checker. | shepherdjerred wrote: | Unfortunately Checkmake only has 4 rules[0]. It's not a very | useful tool unless you're wanting a tool that complains that you | don't have an 'all' and 'test' target, or that your target is | longer than 5 lines[1]. | | [0]: https://github.com/mrtazz/checkmake/tree/main/rules | | [1]: | https://github.com/mrtazz/checkmake/blob/main/rules/maxbodyl... ___________________________________________________________________ (page generated 2022-08-14 23:01 UTC)