# -*-makefile-*- # # Copyright (C) 2012 Jan Weitzel # # For further information about the PTXdist project and license conditions # see the README file. # # # We provide this package # PACKAGES-$(PTXCONF_BAREBOX_MLO) += barebox_mlo # # Paths and names # BAREBOX_MLO_VERSION := $(call ptx/config-version, PTXCONF_BAREBOX_MLO) BAREBOX_MLO_MD5 := $(call ptx/config-md5, PTXCONF_BAREBOX_MLO) BAREBOX_MLO := barebox-$(BAREBOX_MLO_VERSION) BAREBOX_MLO_URL = http://www.barebox.org/download/$(BAREBOX_MLO).$(BAREBOX_SUFFIX) BAREBOX_MLO_DIR := $(BUILDDIR)/barebox_mlo-$(BAREBOX_MLO_VERSION) BAREBOX_MLO_PKGDIR := $(PKGDIR)/barebox_mlo-$(BAREBOX_MLO_VERSION) BAREBOX_MLO_SOURCE = $(SRCDIR)/$(BAREBOX_MLO).$(BAREBOX_SUFFIX) BAREBOX_MLO_LICENSE := GPL-2.0-only BAREBOX_MLO_CONFIG := $(call ptx/in-platformconfigdir, \ $(call remove_quotes, $(PTXCONF_BAREBOX_MLO_CONFIG))) # ---------------------------------------------------------------------------- # Prepare # ---------------------------------------------------------------------------- BAREBOX_MLO_WRAPPER_BLACKLIST := \ $(PTXDIST_LOWLEVEL_WRAPPER_BLACKLIST) BAREBOX_MLO_PATH := PATH=$(CROSS_PATH) BAREBOX_MLO_CONF_TOOL := kconfig BAREBOX_MLO_CONF_OPT := \ V=$(PTXDIST_VERBOSE) \ HOSTCC=$(HOSTCC) \ ARCH=$(PTXCONF_BAREBOX_MLO_ARCH_STRING) \ CROSS_COMPILE=$(BOOTLOADER_CROSS_COMPILE) BAREBOX_MLO_MAKE_OPT := $(BAREBOX_MLO_CONF_OPT) ifdef PTXCONF_BAREBOX_MLO $(BAREBOX_MLO_CONFIG): @echo @echo "****************************************************************************" @echo "*Please generate a barebox MLO config with 'ptxdist menuconfig barebox_mlo'*" @echo "****************************************************************************" @echo @echo @exit 1 endif # ---------------------------------------------------------------------------- # Install # ---------------------------------------------------------------------------- $(STATEDIR)/barebox_mlo.install: @$(call targetinfo) @$(call touch) # ---------------------------------------------------------------------------- # Target-Install # ---------------------------------------------------------------------------- $(STATEDIR)/barebox_mlo.targetinstall: @$(call targetinfo) @$(call world/image-clean, BAREBOX_MLO) # #barebox renamed barebox.bin.ift to MLO, so fall back to barebox.bin.ift @for image in `ls $(BAREBOX_MLO_DIR)/images/barebox-*.img`; do \ $(call ptx/image-install, BAREBOX_MLO, $$image); \ if [ ! -e "$(IMAGEDIR)/MLO" ]; then \ $(call ptx/image-install-link, BAREBOX_MLO, `basename $$image`, MLO); \ fi; \ done @if [ ! -e "$(IMAGEDIR)/MLO" ]; then \ ptxd_get_path "$(BAREBOX_MLO_DIR)/MLO" \ "$(BAREBOX_MLO_DIR)/barebox.bin.ift" && \ $(call ptx/image-install, BAREBOX_MLO, "$${ptxd_reply}", MLO); \ fi @$(call touch) # ---------------------------------------------------------------------------- # Clean # ---------------------------------------------------------------------------- $(STATEDIR)/barebox_mlo.clean: @$(call targetinfo) @$(call clean_pkg, BAREBOX_MLO) # ---------------------------------------------------------------------------- # oldconfig / menuconfig # ---------------------------------------------------------------------------- $(call ptx/kconfig-targets, barebox_mlo): $(STATEDIR)/barebox_mlo.extract @if test -e $(BAREBOX_MLO_CONFIG); then \ cp $(BAREBOX_MLO_CONFIG) $(BAREBOX_MLO_DIR)/.config; \ fi cd $(BAREBOX_MLO_DIR) && \ $(BAREBOX_MLO_PATH) $(BAREBOX_MLO_CONF_ENV) $(MAKE) \ $(BAREBOX_MLO_CONF_OPT) $(subst barebox_mlo_,,$@) @if cmp -s $(BAREBOX_MLO_DIR)/.config $(BAREBOX_MLO_CONFIG); then \ echo "barebox_mlo configuration unchanged"; \ else \ cp $(BAREBOX_MLO_DIR)/.config $(BAREBOX_MLO_CONFIG); \ fi # vim: syntax=make