diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-25 10:40:55 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-26 14:35:13 +0100 |
commit | 6815a8a1789ed3b3437436e0f85993e91d0d1242 (patch) | |
tree | aca6fdbf8a06e8db32ffa9305469955261c0cac3 /rules/barebox.make | |
parent | 4e2ffd72f7c26783cdea6c01d6eae6ca214e5d85 (diff) | |
download | ptxdist-6815a8a1789ed3b3437436e0f85993e91d0d1242.tar.gz ptxdist-6815a8a1789ed3b3437436e0f85993e91d0d1242.tar.xz |
[barebox] add new packet barebox
barebox is the famous bootloader formerly known as u-boot-v2, now
featured in ptxdist.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'rules/barebox.make')
-rw-r--r-- | rules/barebox.make | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/rules/barebox.make b/rules/barebox.make new file mode 100644 index 000000000..7f55859af --- /dev/null +++ b/rules/barebox.make @@ -0,0 +1,123 @@ +# -*-makefile-*- +# +# Copyright (C) 2007 by Sascha Hauer +# 2008, 2009 by Marc Kleine-Budde +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_BAREBOX) += barebox + +# +# Paths and names +# +BAREBOX_VERSION := $(call remove_quotes,$(PTXCONF_BAREBOX_VERSION)) +BAREBOX := barebox-$(BAREBOX_VERSION) +BAREBOX_SUFFIX := tar.bz2 +BAREBOX_URL := http://www.barebox.org/download/$(BAREBOX).$(BAREBOX_SUFFIX) +BAREBOX_SOURCE := $(SRCDIR)/$(BAREBOX).$(BAREBOX_SUFFIX) +BAREBOX_DIR := $(BUILDDIR)/$(BAREBOX) +BAREBOX_LICENSE := GPLv2 + +BAREBOX_CONFIG := $(call remove_quotes, $(PTXDIST_PLATFORMCONFIGDIR)/$(PTXCONF_BAREBOX_CONFIG)) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +$(BAREBOX_SOURCE): + @$(call targetinfo) + @$(call get, BAREBOX) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +BAREBOX_PATH := PATH=$(CROSS_PATH) +BAREBOX_ENV := KCONFIG_NOTIMESTAMP=1 +BAREBOX_MAKEVARS := \ + HOSTCC=$(HOSTCC) \ + ARCH=$(PTXCONF_BAREBOX_ARCH_STRING) \ + CROSS_COMPILE=$(BOOTLOADER_CROSS_COMPILE) + +ifdef PTXCONF_BAREBOX +$(BAREBOX_CONFIG): + @echo + @echo "****************************************************************************" + @echo "**** Please generate a barebox config with 'ptxdist menuconfig barebox' ****" + @echo "****************************************************************************" + @echo + @echo + @exit 1 +endif + +$(STATEDIR)/barebox.prepare: $(BAREBOX_CONFIG) + @$(call targetinfo) + + @echo "Using barebox config file: $(BAREBOX_CONFIG)" + @install -m 644 $(BAREBOX_CONFIG) $(BAREBOX_DIR)/.config + + @$(call ptx/oldconfig, BAREBOX) + + @$(call touch) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +$(STATEDIR)/barebox.compile: + @$(call targetinfo) + cd $(BAREBOX_DIR) && $(BAREBOX_PATH) $(MAKE) $(BAREBOX_MAKEVARS) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/barebox.install: + @$(call targetinfo) + @install -D -m755 $(BAREBOX_DIR)/scripts/bareboxenv $(PTXCONF_SYSROOT_HOST)/bin/bareboxenv + @$(call touch) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/barebox.targetinstall: + @$(call targetinfo) + @install -D -m644 $(BAREBOX_DIR)/barebox.bin $(IMAGEDIR)/barebox-image + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +barebox_clean: + rm -rf $(STATEDIR)/barebox.* + rm -rf $(PKGDIR)/barebox_* + rm -rf $(IMAGEDIR)/barebox-image + rm -rf $(BAREBOX_DIR) + +# ---------------------------------------------------------------------------- +# oldconfig / menuconfig +# ---------------------------------------------------------------------------- + +barebox_oldconfig barebox_menuconfig: $(STATEDIR)/barebox.extract + @if test -e $(BAREBOX_CONFIG); then \ + cp $(BAREBOX_CONFIG) $(BAREBOX_DIR)/.config; \ + fi + cd $(BAREBOX_DIR) && \ + $(BAREBOX_PATH) $(BAREBOX_ENV) $(MAKE) $(BAREBOX_MAKEVARS) $(subst barebox_,,$@) + @if cmp -s $(BAREBOX_DIR)/.config $(BAREBOX_CONFIG); then \ + echo "barebox configuration unchanged"; \ + else \ + cp $(BAREBOX_DIR)/.config $(BAREBOX_CONFIG); \ + fi + +# vim: syntax=make |