Is your makefile supposed to be a justfile?

I started with golang a little under 5 months ago and I've been noticing that a lot of golang projects use makefile!

Can someone explain why this is or why you use make?

IMO, using make in a go project seems kinda pointless because the go compiler can already build and manage dependencies of go projects. It can also run go:generate commands found in files. This means what you need (short of a shell script) is a way to run tasks and maybe create dependencies between the tasks, and just is more than capable of doing this, as well as many others.

I'm not here to advocate for justfiles, but I'm curious why Makefiles are so popular with go projects and not something else like go-task or just.

Curiosity aside, I think it's time we retire make. The syntax is more suited for when programming in C to avoid regenerating object files from source. Most projects these days will benefit greatly from a modern task runner.

EDIT: Removed mention of golang-standards/project-layout because many people are pointing out that it is not a standard talk-less of the standard, and I agree with them.