As part of an experiment, I wish to play around with certain MAKECONF
variables that change how NetBSD is built on a cross host (particularly
EXTERNAL_TOOLCHAIN). I figure it would be a good idea to figure out how the
Makefile framework works and how targets are chosen. However, I've run into
a wall that likely has a simple solution I'm overlooking. Perhaps someone
can alleviate my confusion
I'm starting with the tools directory: the top-level Makefile cds into
tools
using the MAKEDIRTARGET defined in bsd.own.mk. In the tools directory, the
default target is build_install. build_install is defined in
bsd.build_install.mk. This is where I run into issues. From what I
understand, build_install will take all subdirectories defined using
${SUBDIR}, split them into groups separated by wait commands (though it
looks like the .WAITs are filtered out), and then executes $MAKEDIRTARGET
using the current directory as the destination of "cd", and "dependall-*"
(where "*" is a directory name) as the target.
I cannot find where dependall-* is actually defined for each set of tools
to
build. How does build_install know to traverse into subdirectories and
actually build each executable then?
As always, thanks in advance for any help.