2010-05-30 22:46:45 +02:00
|
|
|
#############################################################
|
|
|
|
#
|
|
|
|
# Barebox
|
|
|
|
#
|
|
|
|
#############################################################
|
|
|
|
|
2011-09-17 22:23:08 +02:00
|
|
|
BAREBOX_VERSION = $(call qstrip,$(BR2_TARGET_BAREBOX_VERSION))
|
|
|
|
|
|
|
|
ifeq ($(BAREBOX_VERSION),custom)
|
|
|
|
# Handle custom Barebox tarballs as specified by the configuration
|
|
|
|
BAREBOX_TARBALL = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION))
|
|
|
|
BAREBOX_SITE = $(dir $(BAREBOX_TARBALL))
|
|
|
|
BAREBOX_SOURCE = $(notdir $(BAREBOX_TARBALL))
|
|
|
|
else ifeq ($(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
|
|
|
|
BAREBOX_SITE = $(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
|
|
|
|
BAREBOX_SITE_METHOD = git
|
|
|
|
else
|
|
|
|
# Handle stable official Barebox versions
|
2011-07-05 21:53:59 +02:00
|
|
|
BAREBOX_SOURCE = barebox-$(BAREBOX_VERSION).tar.bz2
|
|
|
|
BAREBOX_SITE = http://www.barebox.org/download/
|
2011-09-17 22:23:08 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq ($(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
|
|
|
|
define BAREBOX_APPLY_CUSTOM_PATCHES
|
2011-09-19 10:13:37 +02:00
|
|
|
support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \
|
2011-09-17 22:23:08 +02:00
|
|
|
barebox-$(BAREBOX_VERSION)-\*.patch
|
|
|
|
endef
|
|
|
|
|
|
|
|
BAREBOX_POST_PATCH_HOOKS += BAREBOX_APPLY_CUSTOM_PATCHES
|
|
|
|
endif
|
2011-07-05 21:53:59 +02:00
|
|
|
|
|
|
|
BAREBOX_INSTALL_IMAGES = YES
|
|
|
|
ifneq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
|
|
|
BAREBOX_INSTALL_TARGET = NO
|
|
|
|
endif
|
|
|
|
|
|
|
|
BAREBOX_BOARD_DEFCONFIG = $(call qstrip,$(BR2_TARGET_BAREBOX_BOARD_DEFCONFIG))
|
2010-05-30 22:46:45 +02:00
|
|
|
|
|
|
|
ifeq ($(KERNEL_ARCH),i386)
|
|
|
|
BAREBOX_ARCH=x86
|
|
|
|
else ifeq ($(KERNEL_ARCH),powerpc)
|
|
|
|
BAREBOX_ARCH=ppc
|
|
|
|
else
|
|
|
|
BAREBOX_ARCH=$(KERNEL_ARCH)
|
|
|
|
endif
|
|
|
|
|
2011-02-01 20:53:05 +01:00
|
|
|
BAREBOX_MAKE_FLAGS = ARCH=$(BAREBOX_ARCH) CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)"
|
2010-05-30 22:46:45 +02:00
|
|
|
|
2011-07-05 21:53:59 +02:00
|
|
|
define BAREBOX_CONFIGURE_CMDS
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D) $(BAREBOX_BOARD_DEFCONFIG)_defconfig
|
|
|
|
endef
|
2010-05-30 22:46:45 +02:00
|
|
|
|
2011-07-05 21:53:59 +02:00
|
|
|
ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
|
|
|
define BAREBOX_BUILD_BAREBOXENV_CMDS
|
|
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(@D)/bareboxenv \
|
|
|
|
$(@D)/scripts/bareboxenv.c
|
|
|
|
endef
|
|
|
|
endif
|
2010-05-30 22:46:45 +02:00
|
|
|
|
2011-07-05 21:53:59 +02:00
|
|
|
define BAREBOX_BUILD_CMDS
|
|
|
|
$(BAREBOX_BUILD_BAREBOXENV_CMDS)
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(@D)
|
|
|
|
endef
|
2010-05-30 22:46:45 +02:00
|
|
|
|
2011-07-05 21:53:59 +02:00
|
|
|
define BAREBOX_INSTALL_IMAGES_CMDS
|
|
|
|
cp $(@D)/barebox.bin $(BINARIES_DIR)
|
|
|
|
endef
|
2010-05-30 22:46:45 +02:00
|
|
|
|
2011-07-05 21:53:59 +02:00
|
|
|
ifeq ($(BR2_TARGET_BAREBOX_BAREBOXENV),y)
|
|
|
|
define BAREBOX_INSTALL_TARGET_CMDS
|
|
|
|
cp $(@D)/bareboxenv $(TARGET_DIR)/usr/bin
|
|
|
|
endef
|
|
|
|
endif
|
2011-02-06 21:40:19 +01:00
|
|
|
|
2011-09-29 21:57:42 +02:00
|
|
|
$(eval $(call GENTARGETS))
|
2010-05-30 22:46:45 +02:00
|
|
|
|
|
|
|
ifeq ($(BR2_TARGET_BAREBOX),y)
|
2010-09-28 14:43:25 +02:00
|
|
|
# we NEED a board defconfig file unless we're at make source
|
|
|
|
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
2010-05-30 22:46:45 +02:00
|
|
|
ifeq ($(BAREBOX_BOARD_DEFCONFIG),)
|
|
|
|
$(error No Barebox defconfig file. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG setting)
|
|
|
|
endif
|
2010-09-28 14:43:25 +02:00
|
|
|
endif
|
2011-08-22 21:28:48 +02:00
|
|
|
|
|
|
|
barebox-menuconfig barebox-xconfig barebox-gconfig barebox-nconfig: barebox-configure
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR) \
|
|
|
|
$(subst barebox-,,$@)
|
|
|
|
rm -f $(BAREBOX_DIR)/.stamp_{built,target_installed,images_installed}
|
|
|
|
|
|
|
|
barebox-savedefconfig: barebox-configure
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR) \
|
|
|
|
$(subst barebox-,,$@)
|
|
|
|
|
2010-05-30 22:46:45 +02:00
|
|
|
endif
|