meta data for this page
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| buildroot:variables [2015/11/06 08:24] – created niziak | buildroot:variables [2024/01/02 16:41] (current) – niziak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Variables ====== | ||
| + | |||
| + | ==== Auto override ==== | ||
| + | <code make> | ||
| + | # Create an automatic OVERRIDE for everything under src/ | ||
| + | AUTO_OVERRIDES = $(notdir $(wildcard $(BR2_EXTERNAL)/ | ||
| + | do_override = $(1)_OVERRIDE_SRCDIR = $(BR2_EXTERNAL)/ | ||
| + | $(foreach override, | ||
| + | $(eval $(call do_override, | ||
| + | |||
| + | #(this snippet is licensed GPLv2+). | ||
| + | #by Arnout Vandecappelle (Essensium/ | ||
| + | </ | ||
| + | |||
| + | ==== Variables ==== | ||
| + | | **$(@D)** | which contains the directory in which the package source code has been uncompressed. | | ||
| + | | **$(FOO_DIR)** | same as **$(@D)** | | ||
| + | | **$(FOO_PKGDIR)** | contains the path to the directory containing the foo.mk and Config.in files.| | ||
| + | | **$(HOST_DIR)** | | | ||
| + | | **$(STAGING_DIR)** | | | ||
| + | | **$(TARGET_DIR)** | | | ||
| + | |||
| + | |||
| ==== Cross compilation ==== | ==== Cross compilation ==== | ||
| Variables are defined in // | Variables are defined in // | ||
| - | * $(TARGET_CC) | ||
| - | * $(TARGET_AR) $(TARGET_AS) $(TARGET_CPP) $(TARGET_CXX) _FC _LD _NM _RANLIB _READELF _OBJCOPY _OBJDUMP | ||
| - | * $(TARGET_CC_NOCCACHE) | ||
| - | * $(TARGET_CXX_NOCCACHE) | ||
| - | | + | | **$(TARGET_CC)** | cross compiler gcc binary |
| - | * $(TARGEt_CPPFLAGS) | + | | **$(TARGET_AR) | |
| - | * $(TARGET_CXXFLAGS) | + | | $(TARGET_AS) | |
| - | * $(TARGET_LDFLAGS) | + | | $(TARGET_CPP) | |
| + | | $(TARGET_CXX) | | ||
| + | | _FC _LD _NM | _RANLIB | _READELF | _OBJCOPY | | ||
| + | | _OBJDUMP** | | ||
| + | | **$(TARGET_CC_NOCCACHE)** | | ||
| + | | **$(TARGET_CXX_NOCCACHE)** | | ||
| - | | + | | **$(TARGET_CFLAGS)** | (i.e: TARGET_CFLAGS=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 |
| - | | + | | **$(TARGET_CPPFLAGS)** | |
| - | | + | | **$(TARGET_CXXFLAGS)** | |
| + | | **$(TARGET_LDFLAGS)** | | ||
| + | |||
| + | | **$(TARGET_MAKE_ENV)** | env which has to be set for cross compilation. | ||
| + | It overrides search path, to get cross compiler first. (i.e: | ||
| + | | $(TARGET_DIR) | ||
| + | | $(STAGING_DIR) | ||
| Additional variables (not needed in normal use) | Additional variables (not needed in normal use) | ||
| - | | + | | **$(CCACHE)** | full path to ccache binary or empty (i.e: CCACHE=/ |
| - | * $(TARGET_CROSS) | + | | **$(TARGET_CROSS)** | prefix with full path to cross compiler (i.e: TARGET_CROSS=/ |
| - | * $(ABI) | + | | **$(ABI)** | gnueabi[hf] eabi[hf] |
| + | | **$(GNU_TARGET_NAME)** | GNU_TARGET_NAME=arm-buildroot-linux-uclibcgnueabi | | ||
| + | |||
| + | |||
| + | === Example === | ||
| + | < | ||
| + | ################################################################################ | ||
| + | # | ||
| + | # genromfs | ||
| + | # | ||
| + | ################################################################################ | ||
| + | |||
| + | GENROMFS_VERSION = 0.5.2 | ||
| + | GENROMFS_SITE = http:// | ||
| + | GENROMFS_LICENSE = GPLv2+ | ||
| + | GENROMFS_LICENSE_FILES = COPYING | ||
| + | |||
| + | define GENROMFS_BUILD_CMDS | ||
| + | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ | ||
| + | CC=" | ||
| + | CFLAGS=" | ||
| + | LDFLAGS=" | ||
| + | endef | ||
| + | |||
| + | define GENROMFS_INSTALL_TARGET_CMDS | ||
| + | $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(TARGET_DIR) install | ||
| + | endef | ||
| + | |||
| + | define HOST_GENROMFS_BUILD_CMDS | ||
| + | $(HOST_MAKE_ENV) $(MAKE) -C $(@D) | ||
| + | endef | ||
| + | |||
| + | define HOST_GENROMFS_INSTALL_CMDS | ||
| + | $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install | ||
| + | endef | ||
| + | |||
| + | $(eval $(generic-package)) | ||
| + | $(eval $(host-generic-package)) | ||
| + | </ | ||
| + | |||
| + | === LUA === | ||
| + | < | ||
| + | LUAPOSIX_CONF_OPTS = --libdir="/ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | define LUAEXPATUTILS_INSTALL_TARGET_CMDS | ||
| + | $(INSTALL) -m 0644 -D $(@D)/ | ||
| + | endef | ||
| + | </ | ||
| + | |||
| + | <code makefile> | ||
| + | define LUA_MSGPACK_NATIVE_BUILD_CMDS | ||
| + | $(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o $(@D)/ | ||
| + | endef | ||
| + | |||
| + | define LUA_MSGPACK_NATIVE_INSTALL_TARGET_CMDS | ||
| + | $(INSTALL) -m 755 -D $(@D)/ | ||
| + | $(TARGET_DIR)/ | ||
| + | endef | ||
| + | |||
| + | $(eval $(generic-package)) | ||
| + | </ | ||
| - | === Examples === | ||
| - | CC=" | ||