Build System Config Module


Overview


Macros and Controls

BUILDSTAMP_NAME
The global default \"name\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_COMMENT
The global default \"comment\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_REVISION_MAJOR
The global default \"revision_major\" to use when generating a buildstamp target. The value of this macro should be an integer

BUILDSTAMP_REVISION_MINOR
The global default \"revision_minor\" to use when generating a buildstamp target. The value of this macro should be an integer

BUILDSTAMP_REVISION_PATCH
The global default \"revision_patch\" to use when generating a buildstamp target. The value of this macro should be an integer

BUILDSTAMP_REVISION_STRING
The global default \"revision_string\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_DATE_YEAR
The global default \"date_year\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_MONTH
The global default \"date_month\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_DAY
The global default \"date_day\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_HOUR
The global default \"date_hour\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_MINUTE
The global default \"date_minute\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_SECOND
The global default \"date_second\" to use when generating a buildstamp target. The value of this macro should be a integer.

BUILDSTAMP_DATE_STRING
The global default \"date_string\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_USERNAME
The global default \"username\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_HOSTNAME
The global default \"hostname\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_NAME
The global default \"os_name\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_REVMAJOR
The global default \"os_revmajor\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_REVMINOR
The global default \"os_revminor\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_REVPATCH
The global default \"os_revpatch\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_RUNTIMENAME
The global default \"os_runtimename\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_RUNTIMEREVMAJOR
The global default \"os_runtimerevmajor\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_RUNTIMEREVMINOR
The global default \"os_runtimerevminor\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_OS_RUNTIMEREVPATCH
The global default \"os_runtimerevpatch\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_MACHINETYPE
The global default \"machinetype\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_MACHINEPROC
The global default \"machineproc\" to use when generating a buildstamp target. The value of this macro should be a string.

BUILDSTAMP_MACHINEINSTSET
The global default \"machineinstset\" to use when generating a buildstamp target. The value of this macro should be a string.


Targets


BUILDSTAMP_TARGETS

BUILDSTAMP_TARGETS Overview

BUILDSTAMP_TARGETS is the pattern target to create buildstamp ".c" and ".h" files. The resulting source code files from build stamp targets are placed in the BS_ARCH_TARGET_DIR.

BUILDSTAMP_TARGETS will be built during the "pretarget" phase of a build. BUILDSTAMP_TARGETS may be built in isolation by requesting the "config_buildstamp" target.

BUILDSTAMP_TARGETS Options

<buildstamp target>_NAME
Specify the \"name\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_NAME is used.

<buildstamp target>_COMMENT
Specify the \"comment\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_COMMENT is used.

<buildstamp target>_REVISION_MAJOR
Specify the \"revision_major\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_REVISION_MAJOR is used.

<buildstamp target>_REVISION_MINOR
Specify the \"revision_MINOR\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_REVISION_MINOR is used.

<buildstamp target>_REVISION_PATCH
Specify the \"revision_patch\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_REVISION_PATCH is used.

<buildstamp target>_REVISION_STRING
Specify the \"revision_string\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_REVISION_STRING is used.

<buildstamp target>_DATE_YEAR
Specify the \"date_year\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_YEAR is used.

<buildstamp target>_DATE_MONTH
Specify the \"date_month\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_MONTH is used.

<buildstamp target>_DATE_DAY
Specify the \"date_day\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_DAY is used.

<buildstamp target>_DATE_HOUR
Specify the \"date_hour\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_HOUR is used.

<buildstamp target>_DATE_MINUTE
Specify the \"date_minute\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_MINUTE is used.

<buildstamp target>_DATE_SECOND
Specify the \"date_second\" of the current <buildstamp target>. This value should be an integer. If none is provided, the value of the global macro BUILDSTAMP_DATE_SECOND is used.

<buildstamp target>_DATE_STRING
Specify the \"date_string\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_DATE_STRING is used.

<buildstamp target>_USERNAME
Specify the \"username\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_USERNAME is used.

<buildstamp target>_HOSTNAME
Specify the \"hostname\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_HOSTNAME is used.

<buildstamp target>_OS_NAME
Specify the \"os_name\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_NAME is used.

<buildstamp target>_OS_REVMAJOR
Specify the \"os_revmajor\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_REVMAJOR is used.

<buildstamp target>_OS_REVMINOR
Specify the \"os_revminor\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_REVMINOR is used.

<buildstamp target>_OS_REVPATCH
Specify the \"os_revpatch\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_REVPATCH is used.

<buildstamp target>_OS_RUNTIMENAME
Specify the \"os_runtimename\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_RUNTIMENAME is used.

<buildstamp target>_OS_RUNTIMEREVMAJOR
Specify the \"os_runtimerevmajor\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_runtimeREVMAJOR is used.

<buildstamp target>_OS_RUNTIMEREVMINOR
Specify the \"os_runtimerevminor\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_RUNTIMEREVMINOR is used.

<buildstamp target>_OS_RUNTIMEREVPATCH
Specify the \"os_runtimerevpatch\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_OS_RUNTIMEREVPATCH is used.

<buildstamp target>_MACHINETYPE
Specify the \"machinetype\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_MACHINETYPE is used.

<buildstamp target>_MACHINEPROC
Specify the \"machineproc\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_MACHINEPROC is used.

<buildstamp target>_MACHINEINSTSET
Specify the \"machineinstset\" of the current <buildstamp target>. This value should be a string. If none is provided, the value of the global macro BUILDSTAMP_MACHINEINSTSET is used.


config_buildstamp

config_buildstamp Overview

Simple target to trigger the building of BUILDSTAMP_TARGETS pattern targets independent of the main build "pretarget" phase.

config_info

config_info Overview

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

config_man

config_man Overview

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

Example Makefile


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

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

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

BUILDSTAMP_TARGETS=buildnum


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