Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
A similar tool is `task` https://taskfile.dev/ . It is quite capable and also a single executable. I've grown to quite like it.
Your coworker's experience is more principled: Make is a mediocre tool for executing commands. It wasn't ever designed for that. Although it is pretty common to see what you are mentioning in projects because it doesn't require installing a dependency.
For a repo where an easy to install (single binary) dependency is a non-issue, consider using just. [1] You get `just -l` where you can see all the command available, the ability to use different languages, and overall simpler command writing.
[1] https://github.com/casey/just
The real makefile that I use and wrote about has some features that I didn't get around to describing in the blog post. Also has a ton of comments.
https://github.com/matheusmoreira/.files/blob/master/GNUmake...
The metaprogramming template I described is used to implement XDG Base Directories. The links take the XDG variables into account while the real files live in their default locations inside the repository.
Related posts
- Any recommendations for CLI wrappers?
- Make tool for building go applications and docker/podman containers
- A Tutorial on Portable Makefiles
- New blog post about makefiles being used in modern development. Link is listed below in case you wanted to check it out.
- Does anyone feel that there’s so many CI/CD tools that it’s impossible to keep up with?