Port-i386 archive

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

Re: Traversing the NetBSD Makefile Build System



A better question for me is: where are all the dependall-* targets generated? MAKEDIRTARGET executes the dependall-* targets in bsd.buildinstall.mk, but does not actually traverse into subdirectories.

-----Original Message----- From: Christos Zoulas
Sent: Monday, June 01, 2015 9:16 AM
To: current-users%netbsd.org@localhost
Subject: Re: Traversing the NetBSD Makefile Build System

In article <67EC18AEC58049C5A08D8BD3DE63B0F3@WilliamTHINK>,
William D. Jones <thor0505%comcast.net@localhost> wrote:
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.

The subdir targets are created in bsd.subdir.mk. Is that your question?

christos

--
William D. Jones
thor0505%comcast.net@localhost

Home | Main Index | Thread Index | Old Index