2010-05-30 22:46:45 +02:00
|
|
|
#############################################################
|
|
|
|
#
|
|
|
|
# Barebox
|
|
|
|
#
|
|
|
|
#############################################################
|
|
|
|
|
2011-01-06 12:25:33 +01:00
|
|
|
BAREBOX_VERSION:=2011.01.0
|
2010-05-30 22:46:45 +02:00
|
|
|
BAREBOX_SOURCE:=barebox-$(BAREBOX_VERSION).tar.bz2
|
|
|
|
BAREBOX_SITE:=http://www.barebox.org/download/
|
|
|
|
BAREBOX_DIR:=$(BUILD_DIR)/barebox-$(BAREBOX_VERSION)
|
|
|
|
BAREBOX_CAT:=$(BZCAT)
|
|
|
|
BAREBOX_BOARD_DEFCONFIG:=$(call qstrip,$(BR2_TARGET_BAREBOX_BOARD_DEFCONFIG))
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
$(DL_DIR)/$(BAREBOX_SOURCE):
|
|
|
|
$(call DOWNLOAD,$(BAREBOX_SITE),$(BAREBOX_SOURCE))
|
|
|
|
|
|
|
|
$(BAREBOX_DIR)/.unpacked: $(DL_DIR)/$(BAREBOX_SOURCE)
|
|
|
|
mkdir -p $(@D)
|
|
|
|
$(INFLATE$(suffix $(BAREBOX_SOURCE))) $(DL_DIR)/$(BAREBOX_SOURCE) \
|
|
|
|
| tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
$(BAREBOX_DIR)/.patched: $(BAREBOX_DIR)/.unpacked
|
|
|
|
toolchain/patch-kernel.sh $(BAREBOX_DIR) boot/barebox \
|
|
|
|
barebox-$(BAREBOX_VERSION)-\*.patch \
|
|
|
|
barebox-$(BAREBOX_VERSION)-\*.patch.$(ARCH)
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
$(BAREBOX_DIR)/.configured: $(BAREBOX_DIR)/.patched
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR) $(BAREBOX_BOARD_DEFCONFIG)_defconfig
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
$(BAREBOX_DIR)/.built: $(BAREBOX_DIR)/.configured
|
|
|
|
$(MAKE) $(BAREBOX_MAKE_FLAGS) -C $(BAREBOX_DIR)
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
$(BAREBOX_DIR)/.installed: $(BAREBOX_DIR)/.built
|
|
|
|
cp $(BAREBOX_DIR)/barebox.bin $(BINARIES_DIR)
|
|
|
|
touch $@
|
|
|
|
|
2011-02-06 21:40:19 +01:00
|
|
|
# bareboxenv for the target
|
|
|
|
$(TARGET_DIR)/usr/bin/bareboxenv: $(BAREBOX_DIR)/.configured
|
|
|
|
mkdir -p $(@D)
|
|
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $@ \
|
|
|
|
$(BAREBOX_DIR)/scripts/bareboxenv.c
|
|
|
|
|
|
|
|
barebox: $(BAREBOX_DIR)/.installed \
|
|
|
|
$(if $(BR2_TARGET_BAREBOX_BAREBOXENV),$(TARGET_DIR)/usr/bin/bareboxenv)
|
2010-05-30 22:46:45 +02:00
|
|
|
|
|
|
|
ifeq ($(BR2_TARGET_BAREBOX),y)
|
|
|
|
TARGETS+=barebox
|
|
|
|
|
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
|
2010-05-30 22:46:45 +02:00
|
|
|
|
|
|
|
endif
|