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.

Sincerely,

--
William D. Jones
[email protected]

Reply via email to