diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_git.bb index bae7b20f..64d7d57a 100644 --- a/meta-arm/recipes-security/optee/optee-client_git.bb +++ b/meta-arm/recipes-security/optee/optee-client_git.bb @@ -18,20 +18,30 @@ SRC_URI = " \ " S = "${WORKDIR}/git" +B = "${WORKDIR}/build" SYSTEMD_SERVICE_${PN} = "tee-supplicant.service" +EXTRA_OEMAKE = "O=${B}" + +do_compile() { + cd ${S} + oe_runmake +} +do_compile[cleandirs] = "${B}" + do_install() { + cd ${S} oe_runmake install - install -D -p -m0755 ${S}/out/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant + install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant - install -D -p -m0644 ${S}/out/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0 + install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0 ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1 install -d ${D}${includedir} - install -p -m0644 ${S}/out/export/usr/include/*.h ${D}${includedir} + install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir} sed -i -e s:/etc:${sysconfdir}:g \ -e s:/usr/bin:${bindir}:g \ diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_git.bb index 996e2cd5..04cc5fda 100644 --- a/meta-arm/recipes-security/optee/optee-examples_git.bb +++ b/meta-arm/recipes-security/optee/optee-examples_git.bb @@ -17,6 +17,7 @@ SRC_URI = "git://github.com/linaro-swg/optee_examples.git" SRCREV = "559b2141c16bf0f57ccd72f60e4deb84fc2a05b0" S = "${WORKDIR}/git" +B = "${WORKDIR}/build" OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}" TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}" @@ -28,17 +29,20 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ HOST_CROSS_COMPILE=${TARGET_PREFIX} \ TA_CROSS_COMPILE=${TARGET_PREFIX} \ V=1 \ + OUTPUT_DIR=${B} \ " do_compile() { + cd ${S} oe_runmake } +do_compile[cleandirs] = "${B}" do_install () { mkdir -p ${D}${nonarch_base_libdir}/optee_armtz mkdir -p ${D}${bindir} - install -D -p -m0755 ${S}/out/ca/* ${D}${bindir} - install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz + install -D -p -m0755 ${B}/ca/* ${D}${bindir} + install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz } FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/" diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_git.bb index eced3622..dcbe9906 100644 --- a/meta-arm/recipes-security/optee/optee-os_git.bb +++ b/meta-arm/recipes-security/optee/optee-os_git.bb @@ -20,10 +20,9 @@ SRC_URI = " \ " S = "${WORKDIR}/git" +B = "${WORKDIR}/build" OPTEEMACHINE ?= "${MACHINE}" -OPTEEOUTPUTMACHINE ?= "${MACHINE}" - OPTEE_ARCH = "null" OPTEE_ARCH_armv7a = "arm32" OPTEE_ARCH_aarch64 = "arm64" @@ -38,6 +37,7 @@ EXTRA_OEMAKE = " \ V=1 \ ta-targets=ta_${OPTEE_ARCH} \ LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \ + O=${B} \ " CFLAGS[unexport] = "1" @@ -49,17 +49,19 @@ LD[unexport] = "1" do_configure[noexec] = "1" do_compile() { + cd ${S} oe_runmake all CFG_TEE_TA_LOG_LEVEL=0 } +do_compile[cleandirs] = "${B}" do_install() { #install core in firmware install -d ${D}${nonarch_base_libdir}/firmware/ - install -m 644 ${B}/out/arm-plat-${OPTEEOUTPUTMACHINE}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ + install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ #install TA devkit install -d ${D}${includedir}/optee/export-user_ta/ - for f in ${B}/out/arm-plat-${OPTEEOUTPUTMACHINE}/export-ta_${OPTEE_ARCH}/* ; do + for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do cp -aR $f ${D}${includedir}/optee/export-user_ta/ done } diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_git.bb index ee73a2c6..f6999721 100644 --- a/meta-arm/recipes-security/optee/optee-test_git.bb +++ b/meta-arm/recipes-security/optee/optee-test_git.bb @@ -16,6 +16,7 @@ SRCREV = "30481e381cb4285706e7516853495a7699c93b2c" SRC_URI = "git://github.com/OP-TEE/optee_test.git" S = "${WORKDIR}/git" +B = "${WORKDIR}/build" OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}" TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}" @@ -27,21 +28,24 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ CROSS_COMPILE_HOST=${TARGET_PREFIX} \ CROSS_COMPILE_TA=${TARGET_PREFIX} \ V=1 \ + O=${B} \ " do_compile() { + cd ${S} # Top level makefile doesn't seem to handle parallel make gracefully oe_runmake xtest oe_runmake ta } +do_compile[cleandirs] = "${B}" do_install () { - install -D -p -m0755 ${S}/out/xtest/xtest ${D}${bindir}/xtest + install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest # install path should match the value set in optee-client/tee-supplicant # default TEEC_LOAD_PATH is /lib mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/ - install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ + install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ } FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"