1 ################################################################################
5 ################################################################################
7 BAREBOX_VERSION = $(call qstrip,$(BR2_TARGET_BAREBOX_VERSION))
9 ifeq ($(BAREBOX_VERSION),custom)
10 # Handle custom Barebox tarballs as specified by the configuration
11 BAREBOX_TARBALL = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION))
12 BAREBOX_SITE = $(patsubst %/,%,$(dir $(BAREBOX_TARBALL)))
13 BAREBOX_SOURCE = $(notdir $(BAREBOX_TARBALL))
14 BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE)
15 else ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
16 BAREBOX_SITE = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
17 BAREBOX_SITE_METHOD = git
19 # Handle stable official Barebox versions
20 BAREBOX_SOURCE = barebox-$(BAREBOX_VERSION).tar.bz2
21 BAREBOX_SITE = http://www.barebox.org/download
22 ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_VERSION),y)
23 BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE)
27 BAREBOX_DEPENDENCIES = host-lzop
28 BAREBOX_LICENSE = GPLv2 with exceptions
29 BAREBOX_LICENSE_FILES = COPYING
31 ifneq ($(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
32 define BAREBOX_APPLY_CUSTOM_PATCHES
33 $(APPLY_PATCHES) $(@D) \
34 $(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \*.patch
37 BAREBOX_POST_PATCH_HOOKS += BAREBOX_APPLY_CUSTOM_PATCHES
40 BAREBOX_INSTALL_IMAGES = YES
41 ifneq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
42 BAREBOX_INSTALL_TARGET = NO
45 ifeq ($(KERNEL_ARCH),i386)
47 else ifeq ($(KERNEL_ARCH),x86_64)
49 else ifeq ($(KERNEL_ARCH),powerpc)
52 BAREBOX_ARCH = $(KERNEL_ARCH)
55 BAREBOX_MAKE_FLAGS = ARCH=$(BAREBOX_ARCH) CROSS_COMPILE="$(CCACHE) \
57 BAREBOX_MAKE_ENV = $(TARGET_MAKE_ENV)
59 ifeq ($(BR2_TARGET_BAREBOX_USE_DEFCONFIG),y)
60 BAREBOX_SOURCE_CONFIG = $(BAREBOX_DIR)/arch/$(BAREBOX_ARCH)/configs/$(call qstrip,\
61 $(BR2_TARGET_BAREBOX_BOARD_DEFCONFIG))_defconfig
62 else ifeq ($(BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG),y)
63 BAREBOX_SOURCE_CONFIG = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE))
66 BAREBOX_KCONFIG_FILE = $(BAREBOX_SOURCE_CONFIG)
67 BAREBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
68 BAREBOX_KCONFIG_OPTS = $(BAREBOX_MAKE_FLAGS)
70 ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
71 define BAREBOX_BUILD_BAREBOXENV_CMDS
72 $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(@D)/bareboxenv \
73 $(@D)/scripts/bareboxenv.c
77 ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_ENV),y)
78 BAREBOX_ENV_NAME = $(notdir $(call qstrip,\
79 $(BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH)))
80 define BAREBOX_BUILD_CUSTOM_ENV
81 $(@D)/scripts/bareboxenv -s \
82 $(call qstrip, $(BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH)) \
83 $(@D)/$(BAREBOX_ENV_NAME)
85 define BAREBOX_INSTALL_CUSTOM_ENV
86 cp $(@D)/$(BAREBOX_ENV_NAME) $(BINARIES_DIR)
90 define BAREBOX_BUILD_CMDS
91 $(BAREBOX_BUILD_BAREBOXENV_CMDS)
92 $(TARGET_MAKE_ENV) $(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D)
93 $(BAREBOX_BUILD_CUSTOM_ENV)
96 define BAREBOX_INSTALL_IMAGES_CMDS
97 if test -h $(@D)/barebox-flash-image ; then \
98 cp -L $(@D)/barebox-flash-image $(BINARIES_DIR)/barebox.bin ; \
100 cp $(@D)/barebox.bin $(BINARIES_DIR);\
102 $(BAREBOX_INSTALL_CUSTOM_ENV)
105 ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
106 define BAREBOX_INSTALL_TARGET_CMDS
107 cp $(@D)/bareboxenv $(TARGET_DIR)/usr/bin
111 $(eval $(kconfig-package))
113 ifeq ($(BR2_TARGET_BAREBOX)$(BR_BUILDING),yy)
114 ifeq ($(BAREBOX_SOURCE_CONFIG),)
115 $(error No Barebox config file. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG or BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE settings)