You already got your answer but perhaps you'll find the following context helpful.
I came across
BSDCan 2014 FreeBSD bmake and meta mode[1]. In the accompanying video Simon Gerraty explains the origin of bmake as a derivitive of NetBSD's make in the early nineties, its entrance in Junos & NetBSD and the transformation process for FreeBSD's base (in FreeBSD 10) and ports as it replaced the then current /usr/bin/make. That then current one was fmake; both bmake and fmake have its origins in pmake[2].
Note that the slides in the video are not the same as the pdf slides:
FreeBSD building with bmake (I found the added spoken context helpful). With the introduction of meta mode it was no longer necessary to manually do
make depend
in order to generate
Makefile.depend [3] (top level make files in Junos, Netbsd and FreeBSD were greatly shortened and reduced in complexity with the introduction of meta mode). Dependencies[4] are handled by files like
dirdeps.mk that uses many features of bmake.
Makefile.depend-s can be generated manually but can also be generated by means of the meta mode[5].
[1] Also mentioned on the
home page of Simon Gerraty
[2]
PMake - A Tutorial by Adam de Boor
[3] Currently FreeBSD only seems to have
mkdep(1);
make depend
may have morphed into
mkdep
as the latter still mentions that it generates a
.depend file, I don't know the details.
[4]
Optional DIRDEPS at
A random collection of blatherings
[5]
bmake: Meta Mode
Also, see for example the explanation at slides
•
"Why bmake" and 'FreeBSD bmake and meta mode" starting at ca. 5:18 min.
•
bmake & dirdeps starting at ca. 36:28 min.
•
Introducing meta mode starting at ca. 53:37 min; also: automated capture of dependency information & avoid make depend.
•
Extracting dependencies starting at ca. 1:05:39 hour.