Build System Recursion Module


Overview

The Build System Recursion Module provides the build system with the ability to recursively call make in subdirectories. Building of recursive targets is done in a depth first order, with the order of decent into sibling directories being determined by the order in which they are specified in the recursion target SUBDIRS_TARGETS

Macros and Controls

XXX Not Yet Doc'ed.

Targets


SUBDIR_TARGETS

SUBDIR_TARGETS Overview

SUBDIR_TARGETS is the sub-directory targets pattern target. The build process will execute make in all enumerated subdirectories in this target list. SUBDIR_TARGETS patten targets will be built during the "recursions" phase of a build, and cannot be built in isolation. Build directory recursion is performed depth first in the order directories are specified in the SUBDIR_TARGETS pattern target.

SUBDIR_TARGETS Options

None.

recursion_info

recursion_info Overview

Simple target to display information about the macro settings of all global macros used by the recursion module of the build system. The recursion_info target will be built during the "info" phase of a build, and can be built in isolation by requesting the recursion_info target.

recursion_man

recursion_man Overview

Simple targes to display usage information and help pertaining to the recursion module of the build system. The recursion_man target will be built during the "man" phase of a build, and can be built in isolation by requesting the recursion_man target.

Example Makefile


# The source root of this component
COMPONENT_ROOT=../..

# The root of the build system
BS_ROOT=$(COMPONENT_ROOT)/../build3

# Boostrap Build system definitions.
include $(BS_ROOT)/defines.mk

# Build in the sub dirs "src", "lib", and "pkg"
SUBDIR_TARGETS=src lib pkg


# Finally, include the rules to make the build system go.
include $(BS_ROOT)/rules.mk