PROJECT:=$(strip $(subst ",,$(BR2_PROJECT))) #")) TARGET_HOSTNAME:=$(strip $(subst ",,$(BR2_HOSTNAME))) #")) BANNER:=$(strip $(subst ",,$(BR2_BANNER))) #")) # silent mode requested? QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q,) # Strip off the annoying quoting ARCH:=$(strip $(subst ",, $(BR2_ARCH))) #")) WGET:=$(strip $(subst ",, $(BR2_WGET))) $(SPIDER) $(QUIET) #")) SVN_CO:=$(strip $(subst ",, $(BR2_SVN_CO))) $(QUIET) #")) SVN_UP:=$(strip $(subst ",, $(BR2_SVN_UP))) $(QUIET) #")) GIT:=$(strip $(subst ",, $(BR2_GIT))) $(QUIET) #")) ZCAT:=$(strip $(subst ",, $(BR2_ZCAT))) #")) BZCAT:=$(strip $(subst ",, $(BR2_BZCAT))) #")) TAR_OPTIONS=$(subst ",, $(BR2_TAR_OPTIONS)) -xf #") # Buildroot supports building out of tree similarly to the Linux kernel. # To use, add O= to the make command line (make O=/tmp/build) BASE_DIR:=$(shell pwd) ifdef O ifeq ("$(origin O)", "command line") BASE_DIR := $(shell mkdir -p $(O) && cd $(O) && pwd) $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) # other packages might also support Linux-style out of tree builds # with the O= syntax (E.G. Busybox does). As make automatically # forwards command line variable definitions those packages get very # confused. Fix this by telling make to not do so MAKEOVERRIDES = endif endif TOPDIR_PREFIX:=$(strip $(subst ",, $(BR2_TOPDIR_PREFIX)))_ #")) TOPDIR_SUFFIX:=_$(strip $(subst ",, $(BR2_TOPDIR_SUFFIX))) #")) ifeq ($(TOPDIR_PREFIX),_) TOPDIR_PREFIX:= endif ifeq ($(TOPDIR_SUFFIX),_) TOPDIR_SUFFIX:= endif DL_DIR=$(strip $(subst ",, $(BR2_DL_DIR))) #")) ifeq ($(DL_DIR),) DL_DIR:=$(BASE_DIR)/dl endif # All non-configurable packages should be built in BUILD_DIR BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX) GNU_TARGET_SUFFIX:=-$(strip $(subst ",, $(BR2_GNU_TARGET_SUFFIX))) #")) STAGING_DIR:=$(strip $(subst ",, $(BR2_STAGING_DIR))) #")) # packages compiled for the host goes here HOST_DIR:=$(BUILD_DIR)/host_dir # stamp (dependency) files go here STAMP_DIR:=$(BUILD_DIR)/stamps # All configurable packages (like Busybox,Linux etc) should be built # in PROJECT_BUILD_DIR PROJECT_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)project_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(PROJECT) BINARIES_DIR:=$(BASE_DIR)/binaries/$(PROJECT) TARGET_DIR:=$(PROJECT_BUILD_DIR)/root # define values for prepatched source trees for toolchains VENDOR_SITE:=$(strip $(subst ",,$(BR2_VENDOR_SITE))) #")) VENDOR_SUFFIX:=$(strip $(subst ",,$(BR2_VENDOR_SUFFIX))) #")) VENDOR_BINUTILS_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_BINUTILS_RELEASE))) #")) VENDOR_GCC_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_GCC_RELEASE))) #")) VENDOR_UCLIBC_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_UCLIBC_RELEASE))) #")) VENDOR_GDB_RELEASE:=$(strip $(subst ",,$(BR2_VENDOR_GDB_RELEASE))) #")) VENDOR_PATCH_DIR:=$(strip $(subst ",,$(BR2_VENDOR_PATCH_DIR))) #"))