Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Traversing the NetBSD Makefile Build System



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
thor0505%comcast.net@localhost

Home | Main Index | Thread Index | Old Index