gmake vs gmake-lite...

I am curious about the status of these two ports.
devel/gmake is the "full featured" gmake port, with a config option to enable NLS via devel/gettext. It is often pulled down by other ports during the build process, as it is listed as a USES= dependency in the Makefiles.

There is also devel/gmake-lite, a "light" version of gmake, with no config options. Both ports are at v4.2.1 and, I think, should be interchangeable. However, if you install gmake-lite and then try to install something which USES= gmake, it will ignore the installed version and pull down full gmake instead. Now you have both on your system.

So my question is, why are there two versions, and why doesn't gmake-lite satisfy the same dependencies provided by gmake?

There is this thread on the subject already:
but that one got caught up into discussing replacing cmake, imake, BSD make etc. with gmake-lite - definitely not the same thing!
You answered your own question. gmake-lite has no dependencies. gmake does. It's all about bootstrapping and potentially avoiding circular dependencies in the ports tree. I don't know which core port(s) caused the creation of gmake-lite, but its clear that the gettext dependency was either undesirable or created a major problem.

Note that if you use tools like ports-mgmt/poudriere or ports-mgmt/synth, you don't get gmake or gmake-lite installed. If you are seeing both installed, that means you are building ports on a live system (which I personally discourage).
Thanks, that makes sense. I actually shot a note to the gmake and gmake-lite maintainers, and now there's a pr to allow gmake-lite to be used where gmake is required : )

PR 210623 - [exp-run] Allow USES=gmake to use gmake-lite