From a952a61288967409f99bd0e23f7c26b5940755d0 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 4 Mar 2013 11:03:43 +0100 Subject: [PATCH] kernel-module-redpine: allow to build from objects https://jira.digi.com/browse/DEL-134 Signed-off-by: Javier Viguera --- .../kernel-module-redpine/files/Makefile | 21 ++++++++------ .../kernel-module-redpine_git.bb | 29 ++++++++++++------- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/meta-digi-arm/recipes-kernel/kernel-module-redpine/files/Makefile b/meta-digi-arm/recipes-kernel/kernel-module-redpine/files/Makefile index b7bc5d74e..a7e84cbf9 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-redpine/files/Makefile +++ b/meta-digi-arm/recipes-kernel/kernel-module-redpine/files/Makefile @@ -23,6 +23,11 @@ MASTER_OBJS += RS.GENR.LNX.SD_GPL/OSD/LINUX/master/ganges_linux_ioctl.o MASTER_OBJS += RS.GENR.LNX.SD_GPL/HAL/SDIO/LINUX/master/ganges_linux_sdio.o MASTER_OBJS += RS.GENR.LNX.SD_GPL/OSD/LINUX/master/digi_hal.o +## Firmware files +FIRMWARE := RS.GENR.LNX.SD_GPL/OSD/LINUX/release/instructionSet +FIRMWARE += RS.GENR.LNX.SD_GPL/OSD/LINUX/release/tadm +FIRMWARE += RS.GENR.LNX.SD_GPL/OSD/LINUX/release/taim + EXTRA_CFLAGS += -DLINUX -DUSE_SDIO_INTF obj-m := rsi_client.o rsi_master.o @@ -31,9 +36,6 @@ rsi_master-y := $(MASTER_OBJS) SRC := $(shell pwd) -SHELL = /bin/bash -FIRMWARE := $(addprefix $(SRC)/RS.GENR.LNX.SD_GPL/OSD/LINUX/release/, instructionSet tadm taim) - all: $(MAKE) -C $(KERNEL_SRC) M=$(SRC) @@ -45,14 +47,15 @@ modules_install: tarball: TAR_DIR = $(SRC)/_tarball tarball: - mkdir -p $(TAR_DIR)/{firmware,GPL/{HAL/SDIO/LINUX/master,OSD/LINUX/master},NON_GPL} - install -m 0644 $(MASTER_OBJS:.o=.c) $(TAR_DIR)/GPL/OSD/LINUX/master/ - mv $(TAR_DIR)/GPL/OSD/LINUX/master/ganges_linux_sdio.c $(TAR_DIR)/GPL/HAL/SDIO/LINUX/master/ - cp -r RS.GENR.LNX.SD_GPL/include $(TAR_DIR)/GPL/ for i in $(CLIENT_OBJS); do \ - install -m 0644 $${i} $(TAR_DIR)/NON_GPL/$$(basename $${i})_shipped; \ + mkdir -p $(TAR_DIR)/$$(dirname $${i}); \ + install -m 0644 $${i} $(TAR_DIR)/$$(dirname $${i})/$$(basename $${i})_shipped; \ done - install -m 0644 $(FIRMWARE) $(TAR_DIR)/firmware/ + for i in $(MASTER_OBJS:.o=.c) $(FIRMWARE); do \ + mkdir -p $(TAR_DIR)/$$(dirname $${i}); \ + install -m 0644 $${i} $(TAR_DIR)/$$(dirname $${i})/; \ + done + cp -r RS.GENR.LNX.SD_GPL/include $(TAR_DIR)/RS.GENR.LNX.SD_GPL/ rm -f redpine-$(DEL_PLATFORM).tar.gz && tar cz --transform 's,\(^[^/]\+/\),\1$(DEL_PLATFORM)/,' \ --numeric-owner --owner 0 --group 0 -f redpine-$(DEL_PLATFORM).tar.gz -C $(TAR_DIR) . -rm -rf $(TAR_DIR) diff --git a/meta-digi-arm/recipes-kernel/kernel-module-redpine/kernel-module-redpine_git.bb b/meta-digi-arm/recipes-kernel/kernel-module-redpine/kernel-module-redpine_git.bb index 3e3511b82..982abd6a4 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-redpine/kernel-module-redpine_git.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-redpine/kernel-module-redpine_git.bb @@ -1,17 +1,24 @@ DESCRIPTION = "Redpine's wireless driver" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://RS.GENR.LNX.SD_NON_GPL/include/ganges_faf.h;endline=6;md5=2b5a9aab5291bd86a1103ca1165f9afa" +LIC_FILES_CHKSUM = "file://RS.GENR.LNX.SD_GPL/include/ganges_faf.h;endline=6;md5=2b5a9aab5291bd86a1103ca1165f9afa" inherit module PR = "r0" -SRCREV = "${AUTOREV}" -SRC_URI = "${DIGI_LOG_GIT}linux-modules/redpine.git;protocol=git;branch=refs/heads/master \ - file://Makefile \ - file://redpine" +REDPINE_BUILD_SRC ?= "1" -S = "${WORKDIR}/git" +SRCREV = "${AUTOREV}" +SRC_URI_git = "${DIGI_LOG_GIT}linux-modules/redpine.git;protocol=git;branch=refs/heads/master" +SRC_URI_obj = "file://redpine-${MACHINE}.tar.gz" + +SRC_URI = "${@base_conditional('REDPINE_BUILD_SRC', '1' , '${SRC_URI_git}', '${SRC_URI_obj}', d)}" +SRC_URI += " \ + file://Makefile \ + file://redpine \ + " + +S = "${@base_conditional('REDPINE_BUILD_SRC', '1' , '${WORKDIR}/git', '${WORKDIR}/${MACHINE}', d)}" EXTRA_OEMAKE = "DEL_PLATFORM=${MACHINE}" @@ -28,11 +35,13 @@ FILES_${PN} += "/lib/firmware/redpine/tadm \ /lib/firmware/redpine/taim \ /lib/firmware/redpine/instructionSet" -# Create objects tarball and copy to deploy directory +# Deploy objects tarball if building from sources do_deploy() { - oe_runmake tarball - install -d ${DEPLOY_DIR_IMAGE} - cp ${S}/redpine-${MACHINE}.tar.gz ${DEPLOY_DIR_IMAGE}/ + if [ "${REDPINE_BUILD_SRC}" = "1" ]; then + oe_runmake tarball + install -d ${DEPLOY_DIR_IMAGE} + cp ${S}/redpine-${MACHINE}.tar.gz ${DEPLOY_DIR_IMAGE}/ + fi } addtask deploy before do_build after do_install