[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)