LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
 LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
-LIC_FILES_CHKSUM_append = " ${LIC_FILES_CHKSUM_LAYER}"
+LIC_FILES_CHKSUM:append = " ${LIC_FILES_CHKSUM_LAYER}"
 
 LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
 
-do_fetch_prepend() {
+do_fetch:prepend() {
     if "Proprietary" not in d.getVar("LICENSE"):
         bb.fatal("The recipe LICENSE should include Proprietary but is " + d.getVar("LICENSE") + ".")
 }
 
 
 UBOOT_LOCALVERSION = "${LOCALVERSION}"
 
-do_compile_prepend() {
+do_compile:prepend() {
        if [ "${SCMVERSION}" = "y" ]; then
                # Add GIT revision to the local version
                head=`cd ${S} ; git rev-parse --verify --short HEAD 2> /dev/null`
 
         return
 
     if use_vivante_kernel_driver_module != "1":
-        e.data.appendVar('RPROVIDES_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
-        e.data.appendVar('RREPLACES_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
-        e.data.appendVar('RCONFLICTS_${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
+        e.data.appendVar('RPROVIDES:${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
+        e.data.appendVar('RREPLACES:${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
+        e.data.appendVar('RCONFLICTS:${KERNEL_PACKAGE_NAME}-base', ' kernel-module-imx-gpu-viv')
 }
 
 addhandler fsl_vivante_kernel_driver_handler
 fsl_vivante_kernel_driver_handler[eventmask] = "bb.event.RecipePreFinalise"
 
-do_configure_append () {
+do_configure:append () {
     if [ "${MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" = "1" ]; then
         config="${B}/.config"
 
 
 MXSBOOT_NAND_ARGS ?= ""
 
 # U-Boot mxsboot generation for uSD
-do_image_uboot_mxsboot_sdcard[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
+do_image_uboot:mxsboot_sdcard[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
                                            u-boot:do_deploy"
-IMAGE_CMD_uboot-mxsboot-sdcard() {
+IMAGE_CMD:uboot-mxsboot-sdcard() {
     mxsboot sd ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
                ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard
     ln -sf ${IMAGE_NAME}.rootfs.uboot-mxsboot-sdcard \
 }
 
 # U-Boot mxsboot generation for NAND
-do_image_uboot_mxsboot_nand[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
+do_image_uboot:mxsboot_nand[depends] += "u-boot-mxsboot-native:do_populate_sysroot \
                                          u-boot:do_deploy"
-IMAGE_CMD_uboot-mxsboot-nand() {
+IMAGE_CMD:uboot-mxsboot-nand() {
     mxsboot ${MXSBOOT_NAND_ARGS} nand \
             ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
             ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot-mxsboot-nand
 # image stream built before the wic generation
 do_image_wic[depends] += " \
     ${@bb.utils.contains('IMAGE_FSTYPES', 'uboot-mxsboot-sdcard', \
-                                          '${IMAGE_BASENAME}:do_image_uboot_mxsboot_sdcard', '', d)} \
+                                          '${IMAGE_BASENAME}:do_image_uboot:mxsboot_sdcard', '', d)} \
 "
 
 # We need to apply a fixup inside of the partition table
-IMAGE_CMD_wic_append_mxs() {
+IMAGE_CMD:wic:append:mxs() {
        # Change partition type for mxs processor family
        bbnote "Setting partition type to 0x53 as required for mxs' SoC family."
        echo -n S | dd of=$out${IMAGE_NAME_SUFFIX}.wic bs=1 count=1 seek=450 conv=notrunc
 
 
 # Define ATF binary file to be deployed to the U-Boot build folder
 ATF_MACHINE_NAME = "bl31-${ATF_PLATFORM}.bin"
-ATF_MACHINE_NAME_append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
+ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
 
 # This package aggregates output deployed by other packages, so set the
 # appropriate dependencies for populate binaries task
 # This effectively would allow the usage of the same WKS file for those
 # derivatives that are using the boot container from U-Boot and those
 # that are not yet have support for it enabled.
-do_deploy_append() {
+do_deploy:append() {
     # Deploy the resulted flash.bin for WIC to pick it up
     if [ -n "${UBOOT_CONFIG}" ]; then
         for config in ${UBOOT_MACHINE}; do
 
 #
 # Copyright 2017 (C) O.S. Systems Software LTDA.
 
-DEPENDS_append = ' u-boot-mkimage-native'
+DEPENDS:append = ' u-boot-mkimage-native'
 
 IMXIMAGE_ENTRYPOINT ?= "${UBOOT_ENTRYPOINT}"
 
        done
 }
 
-do_deploy_append() {
+do_deploy:append() {
        gen_imximage
 }
 
 
 
 kernel_do_deploy[vardepsexclude] = "DATETIME"
-kernel_do_deploy_append() {
+kernel_do_deploy:append() {
        # Update deploy directory
        if echo ${KERNEL_IMAGETYPES} | grep -wq "itbImage"; then
                cd ${B}
 
 FEATURE_PACKAGES_f2fs = "packagegroup-fsl-mfgtool-f2fs"
 
 IMAGE_FSTYPES = "cpio.gz.u-boot"
-IMAGE_FSTYPES_mxs = "cpio.gz.u-boot"
+IMAGE_FSTYPES:mxs = "cpio.gz.u-boot"
 IMAGE_ROOTFS_SIZE ?= "8192"
 
 # Filesystems enabled by default
 
 inherit features_check
-REQUIRED_DISTRO_FEATURES_e6500 += "multiarch"
+REQUIRED_DISTRO_FEATURES:e6500 += "multiarch"
 
 python () {
     promote_kernel = d.getVar('BUILD_64BIT_KERNEL', False)
     if promote_kernel == "1":
         sys_multilib = 'powerpc64' + d.getVar('TARGET_VENDOR', False) + 'mllib64-' + d.getVar('HOST_OS', False)
         tc_options = d.getVar('TOOLCHAIN_OPTIONS', False) + '/../lib64-' + d.getVar("MACHINE", False)
-        d.setVar('DEPENDS_append', ' lib64-gcc-cross-powerpc64 lib64-libgcc')
-        d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
+        d.setVar('DEPENDS:append', ' lib64-gcc-cross-powerpc64 lib64-libgcc')
+        d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE', False) + '/' + sys_multilib)
         d.setVar('KERNEL_CC', d.getVar('CCACHE', False) + sys_multilib + '-' + 'gcc' + d.getVar('HOST_CC_KERNEL_ARCH', False) + tc_options)
         d.setVar('KERNEL_LD', d.getVar('CCACHE', False) + sys_multilib + '-' + 'ld.bfd' + d.getVar('HOST_LD_KERNEL_ARCH', False) + tc_options)
         d.setVar('KERNEL_AR', d.getVar('CCACHE', False) + sys_multilib + '-' + 'ar' + d.getVar('HOST_AR_KERNEL_ARCH', False))
 
 #
 # Copyright 2018 (C) O.S. Systems Software LTDA.
 
-DEPENDS_append_imx = " linux-imx-headers"
+DEPENDS:append_imx = " linux-imx-headers"
 
 # Set runtime dependency of -dev for package inheriting this class to
 # linux-imx-headers-dev package. This is required in order to propagate
 # headers into the SDK
-RDEPENDS_${PN}-dev += "linux-imx-headers-dev"
+RDEPENDS:${PN}-dev += "linux-imx-headers-dev"
 
 PACKAGE_ARCH_imx ?= "${MACHINE_SOCARCH}"
 
 # Typical example here would be imx-vpu-hantro recipe, which requires NXP
 # BSP and is not compatible with mainline.
 COMPATIBLE_HOST = '(null)'
-COMPATIBLE_HOST_use-nxp-bsp = '.*'
+COMPATIBLE_HOST:use-nxp-bsp = '.*'
 
 
 SECO_FIRMWARE_NAME              ?= ""
 
-SECO_FIRMWARE_NAME_mx8qm         = "mx8qmb0-ahab-container.img"
-SECO_FIRMWARE_NAME_mx8qxp        = \
+SECO_FIRMWARE_NAME:mx8qm         = "mx8qmb0-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8qxp        = \
     "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'mx8qxb0-ahab-container.img', \
                                                            'mx8qxc0-ahab-container.img', d)}"
-SECO_FIRMWARE_NAME_mx8dxl        = "mx8dxla1-ahab-container.img"
+SECO_FIRMWARE_NAME:mx8dxl        = "mx8dxla1-ahab-container.img"
 
 python () {
     if "mx8m" in d.getVar('MACHINEOVERRIDES').split(":"):
 
     imx6dl-sabreauto.dtb imx6dl-sabreauto-gpmi-weim.dtb imx6dl-sabreauto-ecspi.dtb \
     imx6dl-sabreauto-flexcan1.dtb imx6dl-sabreauto-enetirq.dtb \
 "
-KERNEL_DEVICETREE_use-mainline-bsp = " \
+KERNEL_DEVICETREE:use-mainline-bsp = " \
     imx6qp-sabreauto.dtb \
     imx6q-sabreauto.dtb \
     imx6dl-sabreauto.dtb \
 
 ### u-boot-fslc settings ###
 
-SPL_BINARY_pn-u-boot-fslc = "SPL"
-UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabreauto_defconfig"
-UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_MACHINE:pn-u-boot-fslc ?= "mx6sabreauto_defconfig"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
 
 ### u-boot-imx settings ###
 
 # The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
 # variants. Change the defconfig to the targeted SoC variant.
-SPL_BINARY_pn-u-boot-imx = ""
-UBOOT_MACHINE_pn-u-boot-imx = "mx6qsabreauto_defconfig"
-UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
-UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+SPL_BINARY:pn-u-boot-imx = ""
+UBOOT_MACHINE:pn-u-boot-imx = "mx6qsabreauto_defconfig"
+UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX:pn-u-boot-imx = "imx"
 
 WKS_FILE = " \
     ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
 
 SERIAL_CONSOLES = "115200;ttymxc3"
 
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
 
 MACHINE_FEATURES += " pci wifi bluetooth"
 
        imx6dl-sabresd-hdcp.dtb \
        imx6dl-sabresd-ldo.dtb \
 "
-KERNEL_DEVICETREE_use-mainline-bsp = " \
+KERNEL_DEVICETREE:use-mainline-bsp = " \
     imx6qp-sabresd.dtb \
     imx6q-sabresd.dtb \
     imx6dl-sabresd.dtb \
 
 ### u-boot-fslc settings ###
 
-SPL_BINARY_pn-u-boot-fslc = "SPL"
-UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabresd_defconfig"
-UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_MACHINE:pn-u-boot-fslc ?= "mx6sabresd_defconfig"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
 
 ### u-boot-imx settings ###
 
 # The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
 # variants. Change the defconfig to the targeted SoC variant.
-SPL_BINARY_pn-u-boot-imx = ""
-UBOOT_MACHINE_pn-u-boot-imx ?= "mx6qsabresd_defconfig"
-UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
-UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+SPL_BINARY:pn-u-boot-imx = ""
+UBOOT_MACHINE:pn-u-boot-imx ?= "mx6qsabresd_defconfig"
+UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX:pn-u-boot-imx = "imx"
 
 WKS_FILE = " \
     ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
 
 SERIAL_CONSOLES = "115200;ttymxc0"
 
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
 
 MACHINE_FEATURES += " pci wifi bluetooth"
 
 include conf/machine/include/tune-cortexa9.inc
 
 KERNEL_DEVICETREE = "imx6sl-evk.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     imx6sl-evk-btwifi.dtb \
     imx6sl-evk-csi.dtb \
     imx6sl-evk-ldo.dtb \
 
 UBOOT_CONFIG[epdc]     = "mx6sllevk_epdc_config"
 UBOOT_CONFIG[mfgtool]  = "mx6sllevk_config"
 
-OPTEE_BIN_EXT_imx6sllevk = "6sllevk"
+OPTEE_BIN_EXT:imx6sllevk = "6sllevk"
 
 SERIAL_CONSOLES = "115200;ttymxc0"
 
 
 require conf/machine/include/tune-cortexa9.inc
 
 KERNEL_DEVICETREE = "imx6sx-sabreauto.dtb"
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6sx-sabreauto.dtb"
+KERNEL_DEVICETREE:use-mainline-bsp = "imx6sx-sabreauto.dtb"
 
 UBOOT_MAKE_TARGET = "u-boot.imx"
 UBOOT_SUFFIX = "imx"
 
 SERIAL_CONSOLES = "115200;ttymxc3"
 
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
 
 MACHINE_FEATURES += " pci wifi bluetooth"
 
     imx6sx-sdb-reva.dtb \
     imx6sx-sdb-sai.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     imx6sx-sdb-btwifi.dtb \
     imx6sx-sdb-emmc.dtb \
     imx6sx-sdb-lcdif1.dtb \
 
 SERIAL_CONSOLES = "115200;ttymxc0"
 
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+MACHINE_FIRMWARE:append:mx6 = " linux-firmware-ath6k"
 
 MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
 
        imx6ul-14x14-evk-emmc.dtb \
        imx6ul-14x14-evk-gpmi-weim.dtb \
 "
-KERNEL_DEVICETREE_use-mainline-bsp = "imx6ul-14x14-evk.dtb"
+KERNEL_DEVICETREE:use-mainline-bsp = "imx6ul-14x14-evk.dtb"
 
 ### u-boot-fslc settings ###
 
-SPL_BINARY_pn-u-boot-fslc = "SPL"
-UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+SPL_BINARY:pn-u-boot-fslc = "SPL"
+UBOOT_SUFFIX:pn-u-boot-fslc = "img"
 
 ### u-boot-imx settings ###
 
 # The u-boot-imx does not provide SPL support
-SPL_BINARY_pn-u-boot-imx = ""
-UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
-UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+SPL_BINARY:pn-u-boot-imx = ""
+UBOOT_MAKE_TARGET:pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX:pn-u-boot-imx = "imx"
 
 WKS_FILE = " \
     ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
 
        imx6ull-14x14-evk.dtb \
 "
 
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        imx6ull-14x14-evk-btwifi.dtb \
        imx6ull-14x14-evk-btwifi-oob.dtb \
        imx6ull-14x14-evk-emmc.dtb \
 
 KERNEL_DEVICETREE = " \
     imx6ulz-14x14-evk.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     imx6ulz-14x14-evk-btwifi.dtb \
     imx6ulz-14x14-evk-emmc.dtb \
     imx6ulz-14x14-evk-gpmi-weim.dtb \
 
 MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455"
 
 KERNEL_DEVICETREE = "imx7d-sdb.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        imx7d-sdb-epdc.dtb \
        imx7d-sdb-gpmi-weim.dtb \
        imx7d-sdb-m4.dtb \
 
 KERNEL_DEVICETREE = " \
        imx7ulp-evk.dtb \
 "
-KERNEL_DEVICETREE_append_use-mainline-bsp = " \
+KERNEL_DEVICETREE:append:use-mainline-bsp = " \
        imx7ulp-com.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        imx7ulp-evk-ft5416.dtb \
        imx7ulp-evk-mipi.dtb \
        imx7ulp-evkb.dtb \
 
 
 require conf/machine/include/imx8dxl-evk.inc
 KERNEL_DEVICETREE_BASENAME = "imx8dxl-evk"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-enet0.dtb \
     freescale/${KERNEL_DEVICETREE_BASENAME}-enet0-tja1100.dtb \
     freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
 
 require include/imx8mm-evk.inc
 
 KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \
     freescale/${KERNEL_DEVICETREE_BASENAME}-revb.dtb \
 "
 
 
 # The device tree name is implicit for LPDDR4, so can't use MACHINE here
 KERNEL_DEVICETREE_BASENAME = "imx8mm-evk"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-ak4497.dtb \
 
 require include/imx8mn-evk.inc
 
 KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
 "
 UBOOT_CONFIG_BASENAME = "imx8mn_ddr4_evk"
 
 
 # The device tree name is implicit for LPDDR4, so can't use MACHINE here
 KERNEL_DEVICETREE_BASENAME = "imx8mn-evk"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
 "
 UBOOT_CONFIG_BASENAME = "imx8mn_evk"
 
 
 # FIXME: This machine is not yet supported by u-boot-fslc, so for now
 # use u-boot-imx for mainline.
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-imx"
 
 KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
 
 
 
 # NXP kernel has additional DTB files for various board configuration and
 # derivates. Include them here for NXP BSP only
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/imx8mp-ab2.dtb \
        freescale/imx8mp-evk-basler.dtb \
        freescale/imx8mp-evk-basler-ov2775.dtb \
 
 IMX_DEFAULT_BSP = "nxp"
 
 MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
 
-MACHINE_SOCARCH_FILTER_append_mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
+MACHINE_SOCARCH_FILTER:append:mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
 
 KERNEL_DEVICETREE = " \
        freescale/imx8mq-evk.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/imx8mq-evk-ak4497.dtb \
        freescale/imx8mq-evk-audio-tdm.dtb \
        freescale/imx8mq-evk-dcss-adv7535.dtb \
        freescale/imx8mq-evk-usdhc2-m2.dtb \
 "
 
-IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
 
 UBOOT_SUFFIX = "bin"
 
 OPTEE_BIN_EXT = "8mq"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 # Use gstreamer 1.16 from meta-freescale
 PREFERRED_VERSION_gstreamer1.0 ?= "1.16.imx"
 
 IMX_DEFAULT_BSP = "nxp"
 
 MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
 
 # Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
 
 LOADADDR = ""
 
 SPL_BINARY = \
     "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
                                                        '', d)}"
-IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
 
 UBOOT_SUFFIX = "bin"
 
 BOARD_TYPE = "mek"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 require include/imx8x-mek.inc
 
 KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/${KERNEL_DEVICETREE_BASENAME}-a0.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-dom0.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif.dtb \
 
 
 require conf/multilib.conf
 MULTILIBS ?= "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "ppce5500"
+DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce5500"
 
 
 require conf/multilib.conf
 MULTILIBS ?= "multilib:lib32"
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "ppce6500"
+DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce6500"
 
 
 require conf/multilib.conf
 MULTILIBS ?= "multilib:lib64"
-DEFAULTTUNE_virtclass-multilib-lib64 ?= "ppc64e6500"
+DEFAULTTUNE:virtclass-multilib-lib64 ?= "ppc64e6500"
 
 IMX_DEFAULT_BSP ?= "mainline"
 
 # Those are SoC families we'd like to force the use of mainline BSP.
-IMX_DEFAULT_BSP_mxs ?= "mainline"
-IMX_DEFAULT_BSP_mx5 ?= "mainline"
+IMX_DEFAULT_BSP:mxs ?= "mainline"
+IMX_DEFAULT_BSP:mx5 ?= "mainline"
 
 MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:"
 
 # ,----[ imx6qdlsabresd.conf ]
 # | ### u-boot-fslc settings ###
 # |
-# | SPL_BINARY_pn-u-boot-fslc = "SPL"
-# | UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabresd_defconfig"
-# | UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+# | SPL_BINARY:pn-u-boot-fslc = "SPL"
+# | UBOOT_MACHINE:pn-u-boot-fslc ?= "mx6sabresd_defconfig"
+# | UBOOT_SUFFIX:pn-u-boot-fslc = "img"
 # |
 # | ### u-boot-imx settings ###
 # |
 # | # The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
 # | # variants. Change the defconfig to the targeted SoC variant.
-# | UBOOT_MACHINE_pn-u-boot-imx ?= "mx6qsabresd_defconfig"
-# | UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+# | UBOOT_MACHINE:pn-u-boot-imx ?= "mx6qsabresd_defconfig"
+# | UBOOT_SUFFIX:pn-u-boot-imx = "imx"
 # `----
 #
 # As result, the 'UBOOT_SUFFIX' is dynamically set based on the preferred U-Boot
 # | UBOOT_MACHINE = "mx53loco_config"
 # `----
 IMX_DEFAULT_BOOTLOADER ??= "u-boot-fslc"
-UBOOT_SUFFIX ?= "${UBOOT_SUFFIX_pn-${IMX_DEFAULT_BOOTLOADER}}"
+UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
 
 # We need to export the original variable to allow it to be used when generating
 # wic based images.
 
 PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
 
-UBOOT_ENTRYPOINT_mxs    = "0x40008000"
-UBOOT_ENTRYPOINT_mx51   = "0x90008000"
-UBOOT_ENTRYPOINT_mx53   = "0x70008000"
-UBOOT_ENTRYPOINT_mx6    = "0x10008000"
-UBOOT_ENTRYPOINT_mx6sl  = "0x80008000"
-UBOOT_ENTRYPOINT_mx6sll = "0x80008000"
-UBOOT_ENTRYPOINT_mx6sx  = "0x80008000"
-UBOOT_ENTRYPOINT_mx6ul  = "0x80008000"
-UBOOT_ENTRYPOINT_mx6ull = "0x80008000"
-UBOOT_ENTRYPOINT_mx6ulz = "0x80008000"
-UBOOT_ENTRYPOINT_mx7    = "0x80008000"
-UBOOT_ENTRYPOINT_mx7ulp = "0x60008000"
-UBOOT_ENTRYPOINT_mx8m   = "0x40480000"
-UBOOT_ENTRYPOINT_vf = "0x80008000"
+UBOOT_ENTRYPOINT:mxs    = "0x40008000"
+UBOOT_ENTRYPOINT:mx51   = "0x90008000"
+UBOOT_ENTRYPOINT:mx53   = "0x70008000"
+UBOOT_ENTRYPOINT:mx6    = "0x10008000"
+UBOOT_ENTRYPOINT:mx6sl  = "0x80008000"
+UBOOT_ENTRYPOINT:mx6sll = "0x80008000"
+UBOOT_ENTRYPOINT:mx6sx  = "0x80008000"
+UBOOT_ENTRYPOINT:mx6ul  = "0x80008000"
+UBOOT_ENTRYPOINT:mx6ull = "0x80008000"
+UBOOT_ENTRYPOINT:mx6ulz = "0x80008000"
+UBOOT_ENTRYPOINT:mx7    = "0x80008000"
+UBOOT_ENTRYPOINT:mx7ulp = "0x60008000"
+UBOOT_ENTRYPOINT:mx8m   = "0x40480000"
+UBOOT_ENTRYPOINT:vf = "0x80008000"
 
 # Some derivates can utilize the boot container provided by U-Boot,
 # below variable sets that those machines which have a imx-boot-container
 # in their MACHINEOVERRIDES can inherit a imx-boot-container class
 UBOOT_PROVIDES_BOOT_CONTAINER = "0"
-UBOOT_PROVIDES_BOOT_CONTAINER_imx-boot-container = "1"
+UBOOT_PROVIDES_BOOT_CONTAINER:imx-boot-container = "1"
 
 PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
 XSERVER_DRIVER                  = "xf86-video-fbdev"
-XSERVER_DRIVER_imxgpu2d         = "xf86-video-imx-vivante"
-XSERVER_DRIVER_vf               = "xf86-video-modesetting"
-XSERVER_DRIVER_append_mx8       = " xf86-video-modesetting"
-XSERVER_DRIVER_use-mainline-bsp = " \
+XSERVER_DRIVER:imxgpu2d         = "xf86-video-imx-vivante"
+XSERVER_DRIVER:vf               = "xf86-video-modesetting"
+XSERVER_DRIVER:append:mx8       = " xf86-video-modesetting"
+XSERVER_DRIVER:use-mainline-bsp = " \
     xf86-video-fbdev \
     xf86-video-modesetting \
     xserver-xorg-extension-glx \
 # ARM_INSTRUCTION_SET = "thumb"
 #
 # handled by software
-# DEFAULTTUNE_mx6 ?= "cortexa9t-neon"
+# DEFAULTTUNE:mx6 ?= "cortexa9t-neon"
 # handled by hardware
-DEFAULTTUNE_mx6    ?= "cortexa9thf-neon"
-DEFAULTTUNE_mx6ul  ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx6ull ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx6ulz ?= "cortexa7thf-neon"
-DEFAULTTUNE_mx7    ?= "cortexa7thf-neon"
-DEFAULTTUNE_vf     ?= "cortexa5thf-neon"
+DEFAULTTUNE:mx6    ?= "cortexa9thf-neon"
+DEFAULTTUNE:mx6ul  ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx6ull ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx6ulz ?= "cortexa7thf-neon"
+DEFAULTTUNE:mx7    ?= "cortexa7thf-neon"
+DEFAULTTUNE:vf     ?= "cortexa5thf-neon"
 
-DEFAULTTUNE_mx8m   ?= "cortexa53-crypto"
-DEFAULTTUNE_mx8qm  ?= "cortexa72-cortexa53-crypto"
-DEFAULTTUNE_mx8qxp ?= "cortexa35-crypto"
+DEFAULTTUNE:mx8m   ?= "cortexa53-crypto"
+DEFAULTTUNE:mx8qm  ?= "cortexa72-cortexa53-crypto"
+DEFAULTTUNE:mx8qxp ?= "cortexa35-crypto"
 
 INHERIT += "machine-overrides-extender"
 
-MACHINEOVERRIDES_EXTENDER_mx25   = "use-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER_mx6q   = "imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sll = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxfbdev:imxpxp"
-MACHINEOVERRIDES_EXTENDER_mx6ull = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6ulz = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7d   = "imxfbdev:imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8qm  = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mn  = "imxdrm:imxgpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mp  = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxdrm:imxvpu:imxgpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8dxl = "imxfbdev"
-
-MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
+MACHINEOVERRIDES_EXTENDER:mx25   = "use-mainline-bsp"
+MACHINEOVERRIDES_EXTENDER:mx6q   = "imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx6dl  = "imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx6sx  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx6sl  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx6sll = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx6ul  = "imxfbdev:imxpxp"
+MACHINEOVERRIDES_EXTENDER:mx6ull = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx6ulz = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx7d   = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER:mx7ulp = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8qm  = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8mm  = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8mn  = "imxdrm:imxgpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8mp  = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8mq  = "imxdrm:imxvpu:imxgpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER:mx8dxl = "imxfbdev"
+
+MACHINEOVERRIDES_EXTENDER_FILTER_OUT:use-mainline-bsp = " \
     imx \
     \
     mx6 \
 
 # Sub-architecture support
 MACHINE_SOCARCH_SUFFIX ?= ""
-MACHINE_SOCARCH_SUFFIX_mx6q = "-mx6qdl"
-MACHINE_SOCARCH_SUFFIX_mx6dl = "-mx6qdl"
-MACHINE_SOCARCH_SUFFIX_mx6sx = "-mx6sx"
-MACHINE_SOCARCH_SUFFIX_mx6sl = "-mx6sl"
-MACHINE_SOCARCH_SUFFIX_mx6sll= "-mx6sll"
-MACHINE_SOCARCH_SUFFIX_mx7d = "-mx7d"
-MACHINE_SOCARCH_SUFFIX_mx7ulp = "-mx7ulp"
-MACHINE_SOCARCH_SUFFIX_vf60 = "-vf60"
-MACHINE_SOCARCH_SUFFIX_vf50 = "-vf50"
-MACHINE_SOCARCH_SUFFIX_mx6ul  = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx6ull = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx6ulz = "-mx6ul"
-MACHINE_SOCARCH_SUFFIX_mx8qm  = "-mx8"
-MACHINE_SOCARCH_SUFFIX_mx8mm  = "-mx8mm"
-MACHINE_SOCARCH_SUFFIX_mx8mn  = "-mx8mn"
-MACHINE_SOCARCH_SUFFIX_mx8mp  = "-mx8mp"
-MACHINE_SOCARCH_SUFFIX_mx8mq  = "-mx8m"
-MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8"
-MACHINE_SOCARCH_SUFFIX_mx8dxl = "-mx8dxl"
-MACHINE_SOCARCH_SUFFIX_use-mainline-bsp = "-imx"
+MACHINE_SOCARCH_SUFFIX:mx6q = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX:mx6dl = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX:mx6sx = "-mx6sx"
+MACHINE_SOCARCH_SUFFIX:mx6sl = "-mx6sl"
+MACHINE_SOCARCH_SUFFIX:mx6sll= "-mx6sll"
+MACHINE_SOCARCH_SUFFIX:mx7d = "-mx7d"
+MACHINE_SOCARCH_SUFFIX:mx7ulp = "-mx7ulp"
+MACHINE_SOCARCH_SUFFIX:vf60 = "-vf60"
+MACHINE_SOCARCH_SUFFIX:vf50 = "-vf50"
+MACHINE_SOCARCH_SUFFIX:mx6ul  = "-mx6ul"
+MACHINE_SOCARCH_SUFFIX:mx6ull = "-mx6ul"
+MACHINE_SOCARCH_SUFFIX:mx6ulz = "-mx6ul"
+MACHINE_SOCARCH_SUFFIX:mx8qm  = "-mx8"
+MACHINE_SOCARCH_SUFFIX:mx8mm  = "-mx8mm"
+MACHINE_SOCARCH_SUFFIX:mx8mn  = "-mx8mn"
+MACHINE_SOCARCH_SUFFIX:mx8mp  = "-mx8mp"
+MACHINE_SOCARCH_SUFFIX:mx8mq  = "-mx8m"
+MACHINE_SOCARCH_SUFFIX:mx8qxp = "-mx8"
+MACHINE_SOCARCH_SUFFIX:mx8dxl = "-mx8dxl"
+MACHINE_SOCARCH_SUFFIX:use-mainline-bsp = "-imx"
 
 MACHINE_ARCH_FILTER = "virtual/kernel"
-MACHINE_SOCARCH_FILTER_append_imx = " \
+MACHINE_SOCARCH_FILTER:append_imx = " \
     alsa-lib \
     gstreamer1.0 \
     weston \
 "
-MACHINE_SOCARCH_FILTER_append_imxvpu = " \
+MACHINE_SOCARCH_FILTER:append:imxvpu = " \
     imx-codec \
     imx-vpuwrap \
     libimxvpuapi \
     virtual/imxvpu \
 "
-MACHINE_SOCARCH_FILTER_append_imxgpu = " \
+MACHINE_SOCARCH_FILTER:append:imxgpu = " \
     virtual/egl \
     virtual/mesa \
     virtual/libopenvg \
     opencv \
     pango \
 "
-MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \
+MACHINE_SOCARCH_FILTER:append:imxgpu2d = " \
     virtual/libg2d \
 "
-MACHINE_SOCARCH_FILTER_append_imxgpu3d = " \
+MACHINE_SOCARCH_FILTER:append:imxgpu3d = " \
     virtual/libgl \
     virtual/libgles1 \
     virtual/libgles2 \
 "
-MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \
+MACHINE_SOCARCH_FILTER:append:use-mainline-bsp = " \
     virtual/egl \
     virtual/libopenvg \
     virtual/libg2d \
     pango \
     qtbase \
 "
-MACHINE_SOCARCH_FILTER_append_mx6q = " \
+MACHINE_SOCARCH_FILTER:append:mx6q = " \
     opencl-icd-loader \
     opencl-clhpp \
     opencl-headers \
 "
-MACHINE_SOCARCH_FILTER_append_mx8 = " \
+MACHINE_SOCARCH_FILTER:append:mx8 = " \
     opencl-icd-loader \
     opencl-clhpp \
     opencl-headers \
 "
-MACHINE_SOCARCH_FILTER_append_mx8qm = " \
+MACHINE_SOCARCH_FILTER:append:mx8qm = " \
     virtual/libopenvx \
 "
 
 INHERIT += "fsl-dynamic-packagearch"
 
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS_append = " \
+SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \
     imx-gpu-viv->kernel-module-imx-gpu-viv \
     libimxvpuapi->virtual/imxvpu \
     imx-vpuwrap->virtual/imxvpu \
 
 # Firmware
 MACHINE_FIRMWARE ?= ""
-MACHINE_FIRMWARE_append_mx25 = " firmware-imx-sdma-imx25"
-MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27"
-MACHINE_FIRMWARE_append_mx7d = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6 = " linux-firmware-imx-sdma-imx6q"
-MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q"
-MACHINE_FIRMWARE_append_mx6dl = " firmware-imx-vpu-imx6d firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6sl = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6sll = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx6ull = " firmware-imx-epdc"
-MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
-MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
-MACHINE_FIRMWARE_append_mx8mm  = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8mn  = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8mp  = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
-MACHINE_FIRMWARE_append_mx8mq  = " linux-firmware-imx-sdma-imx7d"
-MACHINE_FIRMWARE_append_mx8qm  = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8"
-MACHINE_FIRMWARE_append_use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
+MACHINE_FIRMWARE:append:mx25 = " firmware-imx-sdma-imx25"
+MACHINE_FIRMWARE:append_mx27 = " firmware-imx-vpu-imx27"
+MACHINE_FIRMWARE:append:mx7d = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6 = " linux-firmware-imx-sdma-imx6q"
+MACHINE_FIRMWARE:append:mx6q = " firmware-imx-vpu-imx6q"
+MACHINE_FIRMWARE:append:mx6dl = " firmware-imx-vpu-imx6d firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6sl = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6sll = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx6ull = " firmware-imx-epdc"
+MACHINE_FIRMWARE:append:mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
+MACHINE_FIRMWARE:append:mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
+MACHINE_FIRMWARE:append:mx8mm  = " linux-firmware-imx-sdma-imx7d"
+MACHINE_FIRMWARE:append:mx8mn  = " linux-firmware-imx-sdma-imx7d"
+MACHINE_FIRMWARE:append:mx8mp  = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
+MACHINE_FIRMWARE:append:mx8mq  = " linux-firmware-imx-sdma-imx7d"
+MACHINE_FIRMWARE:append:mx8qm  = " firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append:mx8qxp = " firmware-imx-vpu-imx8"
+MACHINE_FIRMWARE:append:use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
 
 MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
 
 # Extra audio support
 IMX_ALSA_EXTRA = ""
-IMX_ALSA_EXTRA_use-nxp-bsp = "imx-alsa-plugins"
-MACHINE_EXTRA_RRECOMMENDS_append_mx6 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx7 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append_mx8 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
+IMX_ALSA_EXTRA:use-nxp-bsp = "imx-alsa-plugins"
+MACHINE_EXTRA_RRECOMMENDS:append:mx6 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append:mx7 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append:mx8 = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
 
 # Extra Cypress Wi-Fi and BTW firmware (Murata)
-MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4339', 'linux-firmware-bcm4339', '', d)}"
-MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43430', 'linux-firmware-bcm43430', '', d)}"
-MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43455', 'linux-firmware-bcm43455', '', d)}"
-MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4356', 'linux-firmware-bcm4356-pcie', '', d)}"
-MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'linux-firmware-bcm4359-pcie', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4339', 'linux-firmware-bcm4339', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43430', 'linux-firmware-bcm43430', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43455', 'linux-firmware-bcm43455', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4356', 'linux-firmware-bcm4356-pcie', '', d)}"
+MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'linux-firmware-bcm4359-pcie', '', d)}"
 
 # Extra QCA Wi-Fi & BTE driver and firmware
-MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca6174', 'packagegroup-fsl-qca6174', '', d)}"
-MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca9377', 'packagegroup-fsl-qca9377', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca6174', 'packagegroup-fsl-qca6174', '', d)}"
+MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca9377', 'packagegroup-fsl-qca9377', '', d)}"
 
 # Extra udev rules
 MACHINE_EXTRA_RRECOMMENDS += "udev-rules-imx"
 
 # GStreamer 1.0 plugins
 MACHINE_GSTREAMER_1_0_PLUGIN        ?= ""
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl  ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6q   ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6sl  ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6sx  ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul  ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx6ull ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx7d   ?= "gstreamer1.0-plugins-imx-meta"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mm  ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mn  ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mp  ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8mq  ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8qm  ?= "imx-gst1.0-plugin"
-MACHINE_GSTREAMER_1_0_PLUGIN_mx8qxp ?= "imx-gst1.0-plugin"
-
-PREFERRED_VERSION_gstreamer1.0_mx8 ?= "1.16.2.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 ?= "1.16.2.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 ?= "1.16.3.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 ?= "1.16.3.imx"
-PREFERRED_VERSION_gstreamer1.0-libav_mx8 ?= "1.16.0"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl  ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6q   ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6sl  ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6sx  ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul  ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx6ull ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx7d   ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mm  ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mn  ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mp  ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8mq  ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm  ?= "imx-gst1.0-plugin"
+MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp ?= "imx-gst1.0-plugin"
+
+PREFERRED_VERSION_gstreamer1.0:mx8 ?= "1.16.2.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8 ?= "1.16.2.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8 ?= "1.16.3.imx"
+PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8 ?= "1.16.3.imx"
+PREFERRED_VERSION_gstreamer1.0-libav:mx8 ?= "1.16.0"
 
 # Determines if the SoC has support for Vivante kernel driver
 SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT        = "0"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_imxgpu = "1"
+SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
 
 # Handle Vivante kernel driver setting:
 #   0 - machine does not have Vivante GPU driver support
 PREFERRED_PROVIDER_virtual/libgles2_imxgpu3d ?= "imx-gpu-viv"
 PREFERRED_PROVIDER_virtual/libg2d            ?= "imx-gpu-g2d"
 PREFERRED_PROVIDER_virtual/libg2d_imxdpu     ?= "imx-dpu-g2d"
-PREFERRED_PROVIDER_opencl-clhpp_imxgpu       ?= "imx-gpu-viv"
-PREFERRED_PROVIDER_opencl-headers_imxgpu     ?= "imx-gpu-viv"
-PREFERRED_PROVIDER_opencl-icd-loader_imxgpu  ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_opencl-clhpp:imxgpu       ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_opencl-headers:imxgpu     ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_opencl-icd-loader:imxgpu  ?= "imx-gpu-viv"
 
 PREFERRED_VERSION_weston_imx ?= "9.0.0.imx"
-PREFERRED_VERSION_weston_use-mainline-bsp = ""
+PREFERRED_VERSION_weston:use-mainline-bsp = ""
 
-PREFERRED_VERSION_wayland-protocols_mx6 ?= "1.20.imx"
-PREFERRED_VERSION_wayland-protocols_mx7 ?= "1.20.imx"
-PREFERRED_VERSION_wayland-protocols_mx8 ?= "1.20.imx"
+PREFERRED_VERSION_wayland-protocols:mx6 ?= "1.20.imx"
+PREFERRED_VERSION_wayland-protocols:mx7 ?= "1.20.imx"
+PREFERRED_VERSION_wayland-protocols:mx8 ?= "1.20.imx"
 
 # Use i.MX libdrm Version
-PREFERRED_VERSION_libdrm_mx6 ?= "2.4.102.imx"
-PREFERRED_VERSION_libdrm_mx7 ?= "2.4.102.imx"
-PREFERRED_VERSION_libdrm_mx8 ?= "2.4.102.imx"
+PREFERRED_VERSION_libdrm:mx6 ?= "2.4.102.imx"
+PREFERRED_VERSION_libdrm:mx7 ?= "2.4.102.imx"
+PREFERRED_VERSION_libdrm:mx8 ?= "2.4.102.imx"
 
 # Use i.MX optee Version
-PREFERRED_VERSION_optee-os_mx8     ?= "3.10.0.imx"
-PREFERRED_VERSION_optee-client_mx8 ?= "3.10.0.imx"
-PREFERRED_VERSION_optee-test_mx8   ?= "3.10.0.imx"
+PREFERRED_VERSION_optee-os:mx8     ?= "3.10.0.imx"
+PREFERRED_VERSION_optee-client:mx8 ?= "3.10.0.imx"
+PREFERRED_VERSION_optee-test:mx8   ?= "3.10.0.imx"
 
 #Use i.MX opencv Version for mx8
-PREFERRED_VERSION_opencv_mx8 ?= "4.5.2.imx"
+PREFERRED_VERSION_opencv:mx8 ?= "4.5.2.imx"
 
 # Handle default kernel
 IMX_DEFAULT_KERNEL = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mxs = "linux-fslc"
-IMX_DEFAULT_KERNEL_mx5 = "linux-fslc"
-IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx7 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx8 = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx7ulp = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6sll = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6ul = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_mx6ull = "linux-fslc-imx"
-IMX_DEFAULT_KERNEL_use-mainline-bsp = "linux-fslc"
+IMX_DEFAULT_KERNEL:mxs = "linux-fslc"
+IMX_DEFAULT_KERNEL:mx5 = "linux-fslc"
+IMX_DEFAULT_KERNEL:mx6 = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx7 = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx8 = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx7ulp = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx6sll = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx6ul = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:mx6ull = "linux-fslc-imx"
+IMX_DEFAULT_KERNEL:use-mainline-bsp = "linux-fslc"
 
 PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
 
 SOC_DEFAULT_IMAGE_FSTYPES = "wic.bmap wic.gz"
-SOC_DEFAULT_IMAGE_FSTYPES_mxs = "uboot-mxsboot-sdcard wic.bmap wic.gz"
+SOC_DEFAULT_IMAGE_FSTYPES:mxs = "uboot-mxsboot-sdcard wic.bmap wic.gz"
 
 # Do not update fstab file when using wic images
 WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
 
 OPTEE_BOOT_IMAGE         = "uTee"
-OPTEE_BOOT_IMAGE_aarch64 = ""
+OPTEE_BOOT_IMAGE:aarch64 = ""
 
 IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
 
 
 ### wic default support
 OPTEE_WKS_FILE_DEPENDS         = "optee-os"
-OPTEE_WKS_FILE_DEPENDS_aarch64 = ""
+OPTEE_WKS_FILE_DEPENDS:aarch64 = ""
 
 WKS_FILE_DEPENDS ?= " \
     virtual/bootloader \
     ${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_WKS_FILE_DEPENDS}', '', d)} \
 "
 
-WKS_FILE_DEPENDS_append_mx8 = " imx-boot"
-WKS_FILE_DEPENDS_append_mx8m = " imx-boot"
+WKS_FILE_DEPENDS:append:mx8 = " imx-boot"
+WKS_FILE_DEPENDS:append:mx8m = " imx-boot"
 
 # We need to restrict the append so we don't add this for other i.MX SoC's.
 # Derivatives that are not yet adopted the usage of boot container provided
 # deployment task extesion execution defined in imx-boot-container class.
 # For NXP BSP: rename is done in 'imx-boot' recipe at the execution of compile
 # task.
-WKS_FILE_DEPENDS_append_use-mainline-bsp_aarch64 = " \
+WKS_FILE_DEPENDS:append:use-mainline-bsp:aarch64 = " \
     ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
 "
 
 SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in"
-SOC_DEFAULT_WKS_FILE_mx8m ?= "imx-imx-boot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:mx8m ?= "imx-imx-boot-bootpart.wks.in"
 
-SOC_DEFAULT_WKS_FILE_mx8 ?= "imx-imx-boot-bootpart.wks.in"
-SOC_DEFAULT_WKS_FILE_mxs ?= "imx-uboot-mxs-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:mx8 ?= "imx-imx-boot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:mxs ?= "imx-uboot-mxs-bootpart.wks.in"
 
 # Boot container built as a part of mainline U-Boot uses different WKS
 # file as the entire mx8m series, as U-Boot versions later than 2021.04 are
 # replacement of imx-boot from NXP.
 # Creation of those binary files is controlled by UBOOT_PROVIDES_BOOT_CONTAINER
 # variable defined above.
-SOC_DEFAULT_WKS_FILE_imx-boot-container ?= "imx-boot-container-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:imx-boot-container ?= "imx-boot-container-bootpart.wks.in"
 
 WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
 
 SERIAL_CONSOLES = "115200;ttymxc0"
-SERIAL_CONSOLES_mxs = "115200;ttyAMA0"
+SERIAL_CONSOLES:mxs = "115200;ttyAMA0"
 
 KERNEL_IMAGETYPE = "zImage"
-KERNEL_IMAGETYPE_aarch64 = "Image"
+KERNEL_IMAGETYPE:aarch64 = "Image"
 
 MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
 
 # Add the ability to specify _imx machines
 MACHINEOVERRIDES =. "imx:"
 
-HOSTTOOLS_NONFATAL_append_mx8 = " sha384sum"
+HOSTTOOLS_NONFATAL:append:mx8 = " sha384sum"
 
 IMX_DEFAULT_BSP = "nxp"
 
 MACHINE_FEATURES += "pci bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
 
 # Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
 
 LOADADDR = ""
 
 KERNEL_DEVICETREE = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
 "
 
 
 # and pin it to NXP BSP only
 # OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
 # a full support for it yet.
-MACHINE_FEATURES_append_use-nxp-bsp = " optee jailhouse bcm4359 qca9377"
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359 qca9377"
 
 KERNEL_DEVICETREE = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
 "
 UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
 
-IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
 
 UBOOT_SUFFIX = "bin"
 
 # to be used to define the boot process.
 # We opt-in for Syslinux, since it is designated as a preferred
 # distro boot mode according to the U-Boot documentation.
-UBOOT_EXTLINUX_use-mainline-bsp = "1"
-UBOOT_EXTLINUX_LABELS_use-mainline-bsp = "default"
-UBOOT_EXTLINUX_DEFAULT_LABEL_use-mainline-bsp = "i.MX8M Mini EVK"
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Mini EVK"
 
-UBOOT_EXTLINUX_MENU_DESCRIPTION_default_use-mainline-bsp = "i.MX8M Mini EVK"
-UBOOT_EXTLINUX_FDT_default_use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
-UBOOT_EXTLINUX_CONSOLE_default_use-mainline-bsp = "console=${console}"
-UBOOT_EXTLINUX_ROOT_default_use-mainline-bsp    = "root=/dev/mmcblk1p2"
+UBOOT_EXTLINUX_MENU_DESCRIPTION_default:use-mainline-bsp = "i.MX8M Mini EVK"
+UBOOT_EXTLINUX_FDT_default:use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE_default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT_default:use-mainline-bsp    = "root=/dev/mmcblk1p2"
 
 # Add extlinux.conf to the lis of files, which are deployed onto the
 # boot partition
-IMAGE_BOOT_FILES_append_use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
 
 LOADADDR = ""
 UBOOT_SUFFIX = "bin"
 TEE_LOAD_ADDR = "0xbe000000"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 # NXP BSP can consume proprietary jailhouse and Broadcom drivers
 # OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
 # a full support for it yet.
-MACHINE_FEATURES_append_use-nxp-bsp = " optee jailhouse bcm4359"
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359"
 
 KERNEL_DEVICETREE = " \
        freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
        freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
        freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
 "
 UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
 
-IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
 
 UBOOT_SUFFIX = "bin"
 
 # to be used to define the boot process.
 # We opt-in for Syslinux, since it is designated as a preferred
 # distro boot mode according to the U-Boot documentation.
-UBOOT_EXTLINUX_use-mainline-bsp = "1"
-UBOOT_EXTLINUX_LABELS_use-mainline-bsp = "default"
-UBOOT_EXTLINUX_DEFAULT_LABEL_use-mainline-bsp = "i.MX8M Nano EVK"
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Nano EVK"
 
-UBOOT_EXTLINUX_MENU_DESCRIPTION_default_use-mainline-bsp = "i.MX8M Nano EVK"
-UBOOT_EXTLINUX_FDT_default_use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
-UBOOT_EXTLINUX_CONSOLE_default_use-mainline-bsp = "console=${console}"
-UBOOT_EXTLINUX_ROOT_default_use-mainline-bsp    = "root=/dev/mmcblk1p2"
+UBOOT_EXTLINUX_MENU_DESCRIPTION_default:use-mainline-bsp = "i.MX8M Nano EVK"
+UBOOT_EXTLINUX_FDT_default:use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE_default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT_default:use-mainline-bsp    = "root=/dev/mmcblk1p2"
 
 # Add extlinux.conf to the lis of files, which are deployed onto the
 # boot partition
-IMAGE_BOOT_FILES_append_use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
 
 BOOT_SPACE = "65536"
 LOADADDR = ""
 TEE_LOAD_ADDR = "0x56000000"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 # NXP BSP can consume proprietary jailhouse and Marvell drivers
 # OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
 # a full support for it yet.
-MACHINE_FEATURES_append_use-nxp-bsp = " optee jailhouse mrvl8997"
+MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse mrvl8997"
 
 # Mainline kernel contains only one DTB file for
 # imx8mpevk machine
 
 UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
 
-IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
-IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
 
 UBOOT_SUFFIX = "bin"
 
 # to be used to define the boot process.
 # We opt-in for Syslinux, since it is designated as a preferred
 # distro boot mode according to the U-Boot documentation.
-UBOOT_EXTLINUX_use-mainline-bsp = "1"
-UBOOT_EXTLINUX_LABELS_use-mainline-bsp = "default"
-UBOOT_EXTLINUX_DEFAULT_LABEL_use-mainline-bsp = "i.MX8M Plus EVK"
+UBOOT_EXTLINUX:use-mainline-bsp = "1"
+UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
+UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Plus EVK"
 
-UBOOT_EXTLINUX_MENU_DESCRIPTION_default_use-mainline-bsp = "i.MX8M Plus EVK"
-UBOOT_EXTLINUX_FDT_default_use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
-UBOOT_EXTLINUX_CONSOLE_default_use-mainline-bsp = "console=${console}"
-UBOOT_EXTLINUX_ROOT_default_use-mainline-bsp    = "root=/dev/mmcblk1p2"
+UBOOT_EXTLINUX_MENU_DESCRIPTION_default:use-mainline-bsp = "i.MX8M Plus EVK"
+UBOOT_EXTLINUX_FDT_default:use-mainline-bsp     = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
+UBOOT_EXTLINUX_CONSOLE_default:use-mainline-bsp = "console=${console}"
+UBOOT_EXTLINUX_ROOT_default:use-mainline-bsp    = "root=/dev/mmcblk1p2"
 
 # Add extlinux.conf to the lis of files, which are deployed onto the
 # boot partition
-IMAGE_BOOT_FILES_append_use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
+IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
 
 LOADADDR = ""
 UBOOT_SUFFIX = "bin"
 TEE_LOAD_ADDR = "0x56000000"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 IMX_DEFAULT_BSP = "nxp"
 
 MACHINE_FEATURES += "pci optee bcm43455 bcm4356"
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359"
+MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
 
 # Don't include kernels in standard images
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
 
 LOADADDR = ""
 
 KERNEL_DEVICETREE = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
 "
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+KERNEL_DEVICETREE:append:use-nxp-bsp = " \
     freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191.dtb \
     freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191-rpmsg.dtb \
     freescale/${KERNEL_DEVICETREE_BASENAME}-dsp.dtb \
 BOARD_TYPE = "mek"
 
 # Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
+MACHINE_FIRMWARE:append = " linux-firmware-ath10k"
 
 PREFERRED_VERSION_testfloat = "2a"
 
 SOC_DEFAULT_IMAGE_FSTYPES = "tar.gz"
-SOC_DEFAULT_IMAGE_FSTYPES_append_ls1043a = " wic.bz2"
-SOC_DEFAULT_IMAGE_FSTYPES_append_ls1046a = " wic.bz2"
+SOC_DEFAULT_IMAGE_FSTYPES:append:ls1043a = " wic.bz2"
+SOC_DEFAULT_IMAGE_FSTYPES:append:ls1046a = " wic.bz2"
 IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
 
 # Composite Image Layout (in KBytes)
 "
 
 SOC_DEFAULT_WKS_FILE ?= ""
-SOC_DEFAULT_WKS_FILE_ls1043a ?= "ls104x-uboot-bootpart.wks.in"
-SOC_DEFAULT_WKS_FILE_ls1046a ?= "ls104x-uboot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:ls1043a ?= "ls104x-uboot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE:ls1046a ?= "ls104x-uboot-bootpart.wks.in"
 
 WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
 
 
 # Sub-architecture support
 MACHINE_SOCARCH_SUFFIX ?= ""
-MACHINE_SOCARCH_SUFFIX_qoriq = "-qoriq"
+MACHINE_SOCARCH_SUFFIX:qoriq = "-qoriq"
 
 MACHINE_ARCH_FILTER = "virtual/kernel"
 
 
 
 def get_spl_binary(d):
     imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
-    spl_binary = d.getVar("SPL_BINARY_pn-%s" % imx_default_bootloader)
+    spl_binary = d.getVar("SPL_BINARY:pn-%s" % imx_default_bootloader)
 
     return spl_binary or ""
 
 UBOOT_CONFIG[tfa] = "ls1028ardb_tfa_defconfig"
 
 KERNEL_DEVICETREE ?= "freescale/fsl-ls1028a-rdb.dtb freescale/fsl-ls1028a-qds.dtb"
-KERNEL_DEVICETREE_append_use-nxp-bsp = "\
+KERNEL_DEVICETREE:append:use-nxp-bsp = "\
     freescale/fsl-ls1028a-rdb-dpdk.dtb \
 "
 KERNEL_DEFCONFIG ?= "defconfig"
 
     freescale/fsl-ls1043a-qds.dtb \
 "
 # usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_prepend_use-nxp-bsp = "\
+KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
     freescale/fsl-ls1043a-rdb-sdk.dtb \
     freescale/fsl-ls1043a-rdb-usdpaa.dtb \
     freescale/fsl-ls1043a-qds-sdk.dtb \
 
     freescale/fsl-ls1046a-frwy.dtb \
 "
 # usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_prepend_use-nxp-bsp = "\
+KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
     freescale/fsl-ls1046a-frwy-sdk.dtb \
     freescale/fsl-ls1046a-frwy-usdpaa.dtb \
 "
 
     freescale/fsl-ls1046a-qds.dtb \
 "
 # usdpaa dtb is used for dpdk. TODO: rename in kernel
-KERNEL_DEVICETREE_prepend_use-nxp-bsp = "\
+KERNEL_DEVICETREE:prepend:use-nxp-bsp = "\
     freescale/fsl-ls1046a-rdb-sdk.dtb \
     freescale/fsl-ls1046a-rdb-usdpaa.dtb \
     freescale/fsl-ls1046a-qds-sdk.dtb \
 
-do_install_append() {
+do_install:append() {
     rm -f ${D}${sysconfdir}/xdg/weston/weston.ini
 }
 
-DEPENDS_append_imxvpu = " imx-vpuwrap"
+DEPENDS:append:imxvpu = " imx-vpuwrap"
 
 # Additional imx code and patches are included in the chromium-imx git repository.
 # The code below fetches this repository, copies the extra source over to the main
 # * Lost context problems are not known to happen with Vivante GPUs,
 #   so it is safe to use ignore-lost-context
 # * Proprietary codecs need to be enabled for h.264 and MP4 support
-PACKAGECONFIG_append = " ignore-lost-context proprietary-codecs"
+PACKAGECONFIG:append = " ignore-lost-context proprietary-codecs"
 
 copy_chromium_imx_files() {
        # sources in src/ are already organized in a manner
 
     ${PN}-f2fs \
 "
 
-RDEPENDS_${PN}-f2fs = " \
+RDEPENDS:${PN}-f2fs = " \
     ${PN}-base \
     f2fs-tools \
 "
 
-PACKAGECONFIG_imxgpu3d ??= " \
+PACKAGECONFIG:imxgpu3d ??= " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', \
        bb.utils.contains('DISTRO_FEATURES',     'x11', 'glx x11', \
                                                        '', d), d)} \
 
-PACKAGECONFIG_imxgpu3d ??= " \
+PACKAGECONFIG:imxgpu3d ??= " \
     cogl-pango gles2 \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', \
        bb.utils.contains('DISTRO_FEATURES',     'x11', 'egl-x11', \
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 # Only _mx8 machine do provide virtual/libgbm required for any drm* flavour
-DRM-REMOVE_imxgpu = "drm-gl drm-gles2"
-DRM-REMOVE_imxgpu_mx8 = ""
-PACKAGECONFIG_remove = "${DRM-REMOVE}"
+DRM-REMOVE:imxgpu = "drm-gl drm-gles2"
+DRM-REMOVE:imxgpu:mx8 = ""
+PACKAGECONFIG:remove = "${DRM-REMOVE}"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
 
-SRC_URI_append_qoriq-ppc = " file://ppc-fixplt.patch "
+SRC_URI:append:qoriq-ppc = " file://ppc-fixplt.patch "
 
 
     TCLAP_HEADER_PATH="${STAGING_INCDIR}" '
 
 EXTRA_OEMAKE_PLATFORM ?= ""
-EXTRA_OEMAKE_PLATFORM_ls1043a = "ls1043"
-EXTRA_OEMAKE_PLATFORM_ls1046a = "ls1046"
-EXTRA_OEMAKE_PLATFORM_ls1088a = "ls1088"
-EXTRA_OEMAKE_PLATFORM_p1020 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p2020 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p2041 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p3041 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p4080 = "p4080ds"
-EXTRA_OEMAKE_PLATFORM_p5040 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:ls1043a = "ls1043"
+EXTRA_OEMAKE_PLATFORM:ls1046a = "ls1046"
+EXTRA_OEMAKE_PLATFORM:ls1088a = "ls1088"
+EXTRA_OEMAKE_PLATFORM:p1020 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p2020 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p2041 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p3041 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p4080 = "p4080ds"
+EXTRA_OEMAKE_PLATFORM:p5040 = "p4080ds"
 
 
 do_compile () {
 
 # i.MX extra configuration 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append_imxgpu3d = " \
+SRC_URI:append:imxgpu3d = " \
     file://0016-xserver-common-enable-iglx-module.patch \
 "
 
-PACKAGE_ARCH_imxgpu3d = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:imxgpu3d = "${MACHINE_SOCARCH}"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/qt4:"
 
 python __anonymous () {
     families = ['mx6']
         d.appendVarFlag('do_configure', 'depends', ' virtual/kernel:do_shared_workdir')
 }
 
-SRC_URI_append_imxgpu2d += " \
+SRC_URI:append:imxgpu2d += " \
        file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
        file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
        file://0003-i.MX6-force-egl-visual-ID-33.patch \
 "
 
-DEPENDS_append_imxgpu2d = " virtual/kernel virtual/libgles2"
-QT_GLFLAGS_imxgpu2d = "-opengl es2 -openvg"
-QT_CONFIG_FLAGS_append_imxgpu2d = " -I${STAGING_KERNEL_DIR}/include/uapi \
+DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
+QT_GLFLAGS:imxgpu2d = "-opengl es2 -openvg"
+QT_CONFIG_FLAGS:append:imxgpu2d = " -I${STAGING_KERNEL_DIR}/include/uapi \
                                -I${STAGING_KERNEL_DIR}/include/ \
                                -DLINUX=1 -DEGL_API_FB=1 \
                                -DQT_QPA_EXPERIMENTAL_TOUCHEVENT=1"
 
 # The QT_CONFIG_FLAGS can pollute *.la files with -Dxxx
-do_compile_append_mx6 () {
+do_compile:append:mx6 () {
     find lib -name "*.la" | xargs -n1 sed -i 's/-D.*=1//g'
 }
 
 
 # Copyright (C) 2016, 2017 O.S. Systems Software LTDA.
 # Copyright (C) 2017-2018 NXP
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append_imxgpu = " \
+SRC_URI:append:imxgpu = " \
     file://0014-Add-IMX-GPU-support.patch \
     file://0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch \
 "
 
 PACKAGECONFIG_GL_IMX_GPU     = ""
-PACKAGECONFIG_GL_IMX_GPU_mx8 = "gbm kms"
+PACKAGECONFIG_GL_IMX_GPU:mx8 = "gbm kms"
 
-PACKAGECONFIG_GL_imxpxp   = "gles2"
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
+PACKAGECONFIG_GL:imxpxp   = "gles2"
+PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \
                              ${PACKAGECONFIG_GL_IMX_GPU}"
-PACKAGECONFIG_GL_imxgpu3d = "gles2 \
+PACKAGECONFIG_GL:imxgpu3d = "gles2 \
                              ${PACKAGECONFIG_GL_IMX_GPU}"
-PACKAGECONFIG_GL_use-mainline-bsp ?= "gles2 gbm kms"
+PACKAGECONFIG_GL:use-mainline-bsp ?= "gles2 gbm kms"
 
 PACKAGECONFIG_PLATFORM          = ""
-PACKAGECONFIG_PLATFORM_imxgpu2d = "no-opengl linuxfb"
-PACKAGECONFIG_PLATFORM_imxgpu3d = " \
+PACKAGECONFIG_PLATFORM:imxgpu2d = "no-opengl linuxfb"
+PACKAGECONFIG_PLATFORM:imxgpu3d = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11',     '', \
        bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
                                                        'eglfs', d), d)}"
-PACKAGECONFIG_PLATFORM_use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}"
+PACKAGECONFIG_PLATFORM:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}"
 PACKAGECONFIG += "${PACKAGECONFIG_PLATFORM}"
 
 PACKAGECONFIG_VULKAN_IMX_GPU       = ""
-PACKAGECONFIG_VULKAN_IMX_GPU_mx8   = "vulkan"
-PACKAGECONFIG_VULKAN_IMX_GPU_mx8mm = ""
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8   = "vulkan"
+PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm = ""
 PACKAGECONFIG_VULKAN               = ""
-PACKAGECONFIG_VULKAN_imxgpu        = "${PACKAGECONFIG_VULKAN_IMX_GPU}"
+PACKAGECONFIG_VULKAN:imxgpu        = "${PACKAGECONFIG_VULKAN_IMX_GPU}"
 PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', '${PACKAGECONFIG_VULKAN}', '', d)}"
 
 # etnaviv mesa does not have glx
-PACKAGECONFIG_remove_use-mainline-bsp = "xcomposite-glx"
+PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx"
 
-PACKAGECONFIG_remove_mx6 = "xcomposite-egl xcomposite-glx"
-PACKAGECONFIG_remove_mx7 = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx6 = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx7 = "xcomposite-egl xcomposite-glx"
 
 # i.MX8 does never provide native x11, so required dependencies are not met
-PACKAGECONFIG_remove_mx8 = "xcomposite-egl xcomposite-glx"
+PACKAGECONFIG:remove:mx8 = "xcomposite-egl xcomposite-glx"
 
-PACKAGECONFIG_qoriq-ppc = "qemu yajl lxc test remote macvtap libvirtd netcf udev python"
+PACKAGECONFIG:qoriq-ppc = "qemu yajl lxc test remote macvtap libvirtd netcf udev python"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append_qoriq-ppc = " file://qemu.conf"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+SRC_URI:append:qoriq-ppc = " file://qemu.conf"
 
-do_install_append_qoriq-ppc() {
+do_install:append:qoriq-ppc() {
        install -m 0644 ${WORKDIR}/qemu.conf ${D}${sysconfdir}/libvirt/qemu.conf
 }
 
 
 # Append path for freescale layer to include alsa-state asound.conf
-FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx7 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_mx8 := "${THISDIR}/${PN}/imx:"
-FILESEXTRAPATHS_prepend_use-mainline-bsp := "${THISDIR}/${PN}/imx:"
+FILESEXTRAPATHS:prepend:mx6 := "${THISDIR}/${PN}/imx:"
+FILESEXTRAPATHS:prepend:mx7 := "${THISDIR}/${PN}/imx:"
+FILESEXTRAPATHS:prepend:mx8 := "${THISDIR}/${PN}/imx:"
+FILESEXTRAPATHS:prepend:use-mainline-bsp := "${THISDIR}/${PN}/imx:"
 
-PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx7 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_use-mainline-bsp = "${MACHINE_ARCH}"
+PACKAGE_ARCH:mx6 = "${MACHINE_ARCH}"
+PACKAGE_ARCH:mx7 = "${MACHINE_ARCH}"
+PACKAGE_ARCH:mx8 = "${MACHINE_ARCH}"
+PACKAGE_ARCH:use-mainline-bsp = "${MACHINE_ARCH}"
 
 inherit deploy
 
 DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native"
-DEPENDS_append_lx2160a = " ddr-phy"
+DEPENDS:append:lx2160a = " ddr-phy"
 do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
 
 S = "${WORKDIR}/git"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PLATFORM = "${MACHINE}"
-PLATFORM_ls1088ardb-pb = "ls1088ardb"
+PLATFORM:ls1088ardb-pb = "ls1088ardb"
 PLATFORM_ADDITIONAL_TARGET ??= ""
-PLATFORM_ADDITIONAL_TARGET_ls1012afrwy = "ls1012afrwy_512mb"
+PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb"
 
 RCW_FOLDER ?= "${MACHINE}"
-RCW_FOLDER_ls1088ardb-pb = "ls1088ardb"
+RCW_FOLDER:ls1088ardb-pb = "ls1088ardb"
 
 # requires CROSS_COMPILE set by hand as there is no configure script
 export CROSS_COMPILE="${TARGET_PREFIX}"
 uboot_boot_sec ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot"
 uboot_boot ?= "${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa"
 rcw ?= ""
-rcw_ls1012a = "_default"
+rcw:ls1012a = "_default"
 rcwsec ?= "_sben"
 
 chassistype ?= "ls2088_1088"
-chassistype_ls1012a = "ls104x_1012"
-chassistype_ls1043a = "ls104x_1012"
-chassistype_ls1046a = "ls104x_1012"
+chassistype:ls1012a = "ls104x_1012"
+chassistype:ls1043a = "ls104x_1012"
+chassistype:ls1046a = "ls104x_1012"
 
 ddrphyopt ?= ""
-ddrphyopt_lx2160a = "fip_ddr_sec"
+ddrphyopt:lx2160a = "fip_ddr_sec"
 
 do_configure[noexec] = "1"
 
     fi
 }
 addtask deploy after do_install
-FILES_${PN} += "/boot"
+FILES:${PN} += "/boot"
 BBCLASSEXTEND = "native nativesdk"
 
     if [ "${NXP_COT}" = "true" -a "${ARM_COT}" = "true" ]; then
         bbfatal " \
         Error!, Both ARM CoT and NXP CoT are enabled. Only one CoT is built in a yocto build, \
-        Don't add nxp-cot and arm-cot into DISTRO_FEATURES_append at the same time."
+        Don't add nxp-cot and arm-cot into DISTRO_FEATURES:append at the same time."
     fi
 
     if [ "${NXP_COT}" = "true" ]; then
 
 do_deploy() {
     if [ "${ARM_COT}" = "true" ]; then
-        outputdir="atf_arm-cot"
+        outputdir="atf:arm-cot"
     elif [ "${NXP_COT}" = "true" ]; then
         outputdir="atf_nxp-cot"
     else
     cp -fr ${D}/boot/atf/* ${DEPLOYDIR}/${outputdir}/
 }
 addtask deploy after do_install
-FILES_${PN} += "/boot"
+FILES:${PN} += "/boot"
 COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
 
 }
 
 PACKAGES =+ "${PN}-config"
-FILES_${PN}-config += "${datadir}/*"
+FILES:${PN}-config += "${datadir}/*"
 
 BBCLASSEXTEND = "native nativesdk"
 
 addtask deploy before do_populate_sysroot after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
 COMPATIBLE_MACHINE      = "(mx8)"
-COMPATIBLE_MACHINE_mx8m = "(^$)"
-COMPATIBLE_MACHINE_mx8x = "(^$)"
+COMPATIBLE_MACHINE:mx8m = "(^$)"
+COMPATIBLE_MACHINE:mx8x = "(^$)"
 
 # as second one, and for every file match - it creates a separate package,
 # which contains only files that matches the pattern.
 #
-python populate_packages_prepend() {
+python populate_packages:prepend() {
     easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
     do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin',
                       output_pattern='firmware-imx-easrc-%s',
 # files it makes no sense.
 PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi"
 
-FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
-FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/"
+FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
+FILES:${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/"
 
 COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
 
 inherit allarch
 
 CLEANBROKEN = "1"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 do_compile() {
        :
     ${PN}-bcm4359-pcie \
 "
 
-FILES_${PN}-bcm4359-pcie = " \
+FILES:${PN}-bcm4359-pcie = " \
     ${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-pcie.* \
     ${sysconfdir}/firmware/BCM4349B1_*.hcd \
 "
 
-RPROVIDES_${PN}-bcm4359-pcie = "linux-firmware-bcm4359-pcie"
+RPROVIDES:${PN}-bcm4359-pcie = "linux-firmware-bcm4359-pcie"
 
     cp -r sof* ${D}${nonarch_base_libdir}/firmware/imx/
 }
 
-FILES_${PN} = "${nonarch_base_libdir}/firmware/imx"
+FILES:${PN} = "${nonarch_base_libdir}/firmware/imx"
 
     cp -r ${S}/1CQ_QCA6174A_LEA_2.0/lib/firmware ${D}${base_libdir}
 }
 
-FILES_${PN} = " \
+FILES:${PN} = " \
     ${sysconfdir}/bluetooth/firmware.conf \
     ${base_libdir}/firmware/qca6174 \
     ${base_libdir}/firmware/wlan \
 
     cp -r ${S}/1PJ_QCA9377-3_LEA_3.0/lib/firmware ${D}${base_libdir}
 }
 
-FILES_${PN} = " \
+FILES:${PN} = " \
     ${sysconfdir}/bluetooth/firmware.conf \
     ${base_libdir}/firmware/qca \
     ${base_libdir}/firmware/qca9377 \
 
 DEPENDS = "libnl zlib"
 
 FCC_TOOLS_FOLDER ?= "qca9377_qca6174_arm32"
-FCC_TOOLS_FOLDER_aarch64 = "qca9377_qca6174_arm64"
+FCC_TOOLS_FOLDER:aarch64 = "qca9377_qca6174_arm64"
 
 do_install() {
     install -d ${D}${sbindir}/fcc_tools
 }
 
 COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 # Append path for i.MX custom matchconfig
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 
 BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
 
-CFLAGS_remove_mx8mq = "-O2"
+CFLAGS:remove:mx8mq = "-O2"
 
 do_compile() {
     # Clear LDFLAGS to avoid the option -Wl recognize issue
 
 
 inherit use-imx-headers
 
-PLATFORM_mx6q  = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6S"
-PLATFORM_mx6sll = "IMX6UL"
-PLATFORM_mx6sx = "IMX6S"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx6ull = "IMX6UL"
-PLATFORM_mx7d  = "IMX7"
-PLATFORM_mx7ulp = "IMX7"
+PLATFORM:mx6q  = "IMX6Q"
+PLATFORM:mx6dl = "IMX6Q"
+PLATFORM:mx6sl = "IMX6S"
+PLATFORM:mx6sll = "IMX6UL"
+PLATFORM:mx6sx = "IMX6S"
+PLATFORM:mx6ul = "IMX6UL"
+PLATFORM:mx6ull = "IMX6UL"
+PLATFORM:mx7d  = "IMX7"
+PLATFORM:mx7ulp = "IMX7"
 
 PARALLEL_MAKE="-j 1"
 EXTRA_OEMAKE = ""
 
 inherit use-imx-security-controller-firmware
 
 IMX_EXTRA_FIRMWARE      = "firmware-imx-8 imx-sc-firmware imx-seco"
-IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
-IMX_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
+IMX_EXTRA_FIRMWARE:mx8m = "firmware-imx-8m"
+IMX_EXTRA_FIRMWARE:mx8x = "imx-sc-firmware imx-seco"
 DEPENDS += " \
     u-boot \
     ${IMX_EXTRA_FIRMWARE} \
 "
 # xxd is a dependency of fspi_packer.sh
 DEPENDS += "xxd-native"
-DEPENDS_append_mx8m = " u-boot-mkimage-native dtc-native"
+DEPENDS:append:mx8m = " u-boot-mkimage-native dtc-native"
 BOOT_NAME = "imx-boot"
 PROVIDES = "${BOOT_NAME}"
 
 SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
 
 ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
-ATF_MACHINE_NAME_append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
+ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
 
 UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
 BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
                                                   'flash_multi_cores flash_dcd', d), d)}"
 
 BOOT_STAGING       = "${S}/${IMX_BOOT_SOC_TARGET}"
-BOOT_STAGING_mx8m  = "${S}/iMX8M"
-BOOT_STAGING_mx8dx = "${S}/iMX8QX"
+BOOT_STAGING:mx8m  = "${S}/iMX8M"
+BOOT_STAGING:mx8dx = "${S}/iMX8QX"
 
 SOC_FAMILY      = "INVALID"
-SOC_FAMILY_mx8  = "mx8"
-SOC_FAMILY_mx8m = "mx8m"
-SOC_FAMILY_mx8x = "mx8x"
+SOC_FAMILY:mx8  = "mx8"
+SOC_FAMILY:mx8m = "mx8m"
+SOC_FAMILY:mx8x = "mx8x"
 
 REV_OPTION ?= ""
-REV_OPTION_mx8qxp = \
+REV_OPTION:mx8qxp = \
     "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \
                                                            'REV=C0', d)}"
 
 addtask deploy before do_build after do_compile
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "/boot"
+FILES:${PN} = "/boot"
 
 COMPATIBLE_MACHINE = "(mx8)"
 
 
 BOARD_TYPE ?= "mek"
 SC_FIRMWARE_NAME ?= "INVALID"
-SC_FIRMWARE_NAME_mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dxl = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
-SC_FIRMWARE_NAME_mx8dx = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8qm = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8qxp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8dxl = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
+SC_FIRMWARE_NAME:mx8dx = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin"
 
 symlink_name = "scfw_tcm.bin"
 
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "(mxs|mx5|mx6|vf50|vf60)"
 
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
 
 DEPENDS = "alsa-lib libdrm"
-DEPENDS_append_mx6 = " imx-lib"
-DEPENDS_append_mx7 = " imx-lib"
-DEPENDS_append_imxvpu = " virtual/imxvpu"
+DEPENDS:append:mx6 = " imx-lib"
+DEPENDS:append:mx7 = " imx-lib"
+DEPENDS:append:imxvpu = " virtual/imxvpu"
 
 PE = "1"
 PV = "7.0+${SRCPV}"
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 
-PLATFORM_mx6q  = "IMX6Q"
-PLATFORM_mx6dl = "IMX6Q"
-PLATFORM_mx6sl = "IMX6SL"
-PLATFORM_mx6sll = "IMX6SL"
-PLATFORM_mx6sx = "IMX6SX"
-PLATFORM_mx6ul = "IMX6UL"
-PLATFORM_mx7d  = "IMX7D"
-PLATFORM_mx7ulp = "IMX7D"
-PLATFORM_mx8 = "IMX8"
+PLATFORM:mx6q  = "IMX6Q"
+PLATFORM:mx6dl = "IMX6Q"
+PLATFORM:mx6sl = "IMX6SL"
+PLATFORM:mx6sll = "IMX6SL"
+PLATFORM:mx6sx = "IMX6SX"
+PLATFORM:mx6ul = "IMX6UL"
+PLATFORM:mx7d  = "IMX7D"
+PLATFORM:mx7ulp = "IMX7D"
+PLATFORM:mx8 = "IMX8"
 
 PARALLEL_MAKE = "-j 1"
 EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
 
 PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG_append_imxvpu = " vpu"
-PACKAGECONFIG_append_mx8m   = " swpdm"
+PACKAGECONFIG:append:imxvpu = " vpu"
+PACKAGECONFIG:append:mx8m   = " swpdm"
 
 PACKAGECONFIG[x11] = ",,libx11 libxdamage libxrender libxrandr"
 PACKAGECONFIG[vpu] = "HAS_VPU=true,HAS_VPU=false,virtual/imxvpu"
     install -m 0644 ${WORKDIR}/memtool_profile ${D}/home/root/.profile
 }
 
-FILES_${PN} += "/unit_tests /home/root/.profile"
-RDEPENDS_${PN} = "bash"
+FILES:${PN} += "/unit_tests /home/root/.profile"
+RDEPENDS:${PN} = "bash"
 
-FILES_${PN}-dbg += "/unit_tests/.debug"
+FILES:${PN}-dbg += "/unit_tests/.debug"
 
 
 S = "${WORKDIR}/git"
 
-FILES_${PN} += "/linuxrc /fat"
+FILES:${PN} += "/linuxrc /fat"
 
 COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)"
 
     rm ${D}${D_SUBDIR}/${SCR}
 }
 
-FILES_${PN} = "/"
+FILES:${PN} = "/"
 
 COMPATIBLE_MACHINE = "(mx8mp)"
 
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1"
 
 DEPENDS = "imx-vpu-hantro"
-DEPENDS_append_mx8mp = " imx-vpu-hantro-vc"
+DEPENDS:append:mx8mp = " imx-vpu-hantro-vc"
 
 SRC_URI = " \
     ${FSL_MIRROR}/${BP}.tar.gz \
 SRC_URI[md5sum] = "65417710ef22214523c37f50f34b6ab2"
 SRC_URI[sha256sum] = "897d174c4c0818f31012d8a60ed51fc83fdfc55fca2d2b0fc24a0db3e9f3b6e8"
 
-PLATFORM_mx8mm = "IMX8MM"
-PLATFORM_mx8mq = "IMX8MQ"
-PLATFORM_mx8mp = "IMX8MP"
+PLATFORM:mx8mm = "IMX8MM"
+PLATFORM:mx8mq = "IMX8MQ"
+PLATFORM:mx8mp = "IMX8MP"
 
 EXTRA_OEMAKE = " \
     CROSS_COMPILE="${HOST_PREFIX}" \
 
 
 PARALLEL_MAKE="-j 1"
 
-PLATFORM_mx8mm = "IMX8MM"
-PLATFORM_mx8mq = "IMX8MQ"
-PLATFORM_mx8mp = "IMX8MP"
+PLATFORM:mx8mm = "IMX8MM"
+PLATFORM:mx8mq = "IMX8MQ"
+PLATFORM:mx8mp = "IMX8MP"
 
 EXTRA_OEMAKE = " \
     CROSS_COMPILE="${HOST_PREFIX}" \
     oe_runmake install DEST_DIR="${D}"
 }
 
-FILES_${PN} += "/unit_tests"
+FILES:${PN} += "/unit_tests"
 
-RDEPENDS_${PN} += "imx-vpu-hantro-daemon"
+RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
 
 COMPATIBLE_MACHINE = "(mx8mq|mx8mm|mx8mp)"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
 
 PROVIDES = "virtual/imxvpu"
-RPROVIDES_${PN} = "virtual/imxvpu"
+RPROVIDES:${PN} = "virtual/imxvpu"
 
 PE = "1"
 
 
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 
 SYSTEMD_AUTO_ENABLE = "enable"
 
-FILES_${PN} = "${libdir} /opt"
-INSANE_SKIP_${PN} = "file-rdeps already-stripped"
+FILES:${PN} = "${libdir} /opt"
+INSANE_SKIP:${PN} = "file-rdeps already-stripped"
 
 COMPATIBLE_MACHINE = "(mx8mp)"
 
 # Use make instead of ninja
 OECMAKE_GENERATOR = "Unix Makefiles"
 
-SYSTEMD_SERVICE_${PN} = "imx8-isp.service"
+SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
 
 EXTRA_OECMAKE += " \
     -DCMAKE_BUILD_TYPE=release \
     -Wno-dev \
 "
 
-do_configure_prepend() {
+do_configure:prepend() {
     export SDKTARGETSYSROOT=${STAGING_DIR_HOST}
 }
 
 # The build contains a mix of versioned and unversioned libraries, so
 # the default packaging configuration needs some modifications
 FILES_SOLIBSDEV = ""
-FILES_${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-dev += " \
+FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-dev += " \
     ${libdir}/libjsoncpp.so \
     ${libdir}/libos08a20.so \
     ${libdir}/libov2775.so \
 "
 
-INSANE_SKIP_${PN} = "rpaths"
+INSANE_SKIP:${PN} = "rpaths"
 
-RDEPENDS_${PN} = "libdrm libpython3"
+RDEPENDS:${PN} = "libdrm libpython3"
 
 COMPATIBLE_MACHINE = "(mx8mp)"
 
 LIBG2D_PACKAGECONFIG_imxdpu = ""
 
 PACKAGECONFIG ?= " "
-PACKAGECONFIG_append_imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
-PACKAGECONFIG_append_imxipu   = " ipu"
-PACKAGECONFIG_append_imxpxp   = " pxp"
-PACKAGECONFIG_append_mx8m     = " ion dwl"
-PACKAGECONFIG_append_mx8qm    = " ion"
-PACKAGECONFIG_append_mx8qxp   = " ion"
+PACKAGECONFIG:append:imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
+PACKAGECONFIG:append:imxipu   = " ipu"
+PACKAGECONFIG:append:imxpxp   = " pxp"
+PACKAGECONFIG:append:mx8m     = " ion dwl"
+PACKAGECONFIG:append:mx8qm    = " ion"
+PACKAGECONFIG:append:mx8qxp   = " ion"
 
 HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
 
 
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 COMPATIBLE_MACHINE = "(qoriq)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 S = "${WORKDIR}/git"
 
 MC_CFG ?= ""
-MC_CFG_ls1088a = "ls1088a"
+MC_CFG:ls1088a = "ls1088a"
 MC_CFG_ls2088a = "ls2088a"
-MC_CFG_lx2160a = "lx2160a"
-MC_CFG_lx2162aqds = "lx2162aqds"
+MC_CFG:lx2160a = "lx2160a"
+MC_CFG:lx2162aqds = "lx2162aqds"
 
 MC_FLAVOUR ?= "RDB"
-MC_FLAVOUR_lx2162a = ""
+MC_FLAVOUR:lx2162a = ""
 
 do_compile () {
        oe_runmake -C config 
 addtask deploy after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 
 
 addtask deploy after do_install
 
-FILES_${PN} += "/lib/firmware /boot/"
-INSANE_SKIP_${PN} += "arch already-stripped"
+FILES:${PN} += "/lib/firmware /boot/"
+INSANE_SKIP:${PN} += "arch already-stripped"
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_SYSROOT_STRIP = "1"
 
 
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot/*"
+FILES:${PN}-image += "/boot/*"
 
 COMPATIBLE_MACHINE = "(qoriq)"
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
 M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
 
 BOARD_TARGETS="${M}"
-BOARD_TARGETS_ls2088ardb="${M} ${M}_rev1.1"
-BOARD_TARGETS_ls1088ardb-pb="ls1088ardb"
-BOARD_TARGETS_lx2160ardb = "${M} ${M}_rev2"
+BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1"
+BOARD_TARGETS:ls1088ardb-pb="ls1088ardb"
+BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2"
 
 do_compile () {
     oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/
 addtask deploy after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 COMPATIBLE_MACHINE = "(qoriq)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
        # |     Signed-off-by: Ming Liu <liu.ming50@gmail.com>
        # |     Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
        # `----
-       ubootmachine = d.getVar("UBOOT_MACHINE_pn-%s" % imx_default_bootloader)
-       ubootconfig = (d.getVar("UBOOT_CONFIG_pn-%s" % imx_default_bootloader) or "").split()
+       ubootmachine = d.getVar("UBOOT_MACHINE:pn-%s" % imx_default_bootloader)
+       ubootconfig = (d.getVar("UBOOT_CONFIG:pn-%s" % imx_default_bootloader) or "").split()
 
        d.setVar("UBOOT_CONFIG", ubootconfig)
        d.setVar("UBOOT_MACHINE", ubootmachine)
 
 # Copyright (C) 2014-2016 Freescale Semiconductor
 # Copyright 2017-2019 NXP
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-fslc:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-fslc:"
 
 require u-boot-fslc_${PV}.bb
 require u-boot-mfgtool.inc
 
 
 PROVIDES = "u-boot-mxsboot"
 
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
-EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
+EXTRA_OEMAKE:class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
 
 do_compile () {
     oe_runmake -C ${S} O=${B} sandbox_defconfig
     ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
 }
 
-COMPATIBLE_MACHINE_class-target = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
+COMPATIBLE_MACHINE:class-target = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"
 
 BBCLASSEXTEND = "native nativesdk"
 
 
 # Location known to imx-boot component, where U-Boot artifacts
 # should be additionally deployed.
-# See below note above do_deploy_append_mx8m for the purpose of
+# See below note above do_deploy:append:mx8m for the purpose of
 # this delopyment location
 BOOT_TOOLS = "imx-boot-tools"
 
 # starts to use it - below append would not be necessary.
 # Once all mx8m derivatives are migrated to use the 'flash.bin' boot
 # container - this append can be dropped completely.
-do_deploy_append_mx8m() {
+do_deploy:append:mx8m() {
     # Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
     if [ -n "${UBOOT_CONFIG}" ]; then
         for config in ${UBOOT_MACHINE}; do
 
 # Copyright (C) 2014-2016 Freescale Semiconductor
 # Copyright 2017-2019 NXP
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-imx:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot-imx:"
 
 require u-boot-imx_${PV}.bb
 require u-boot-mfgtool.inc
 
 
 PROVIDES += "u-boot"
 
-do_deploy_append_mx8m() {
+do_deploy:append:mx8m() {
     # Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
     if [ -n "${UBOOT_CONFIG}" ]
     then
 
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
-PV_append = "+fslgit"
+PV:append = "+fslgit"
 LOCALVERSION = "+fsl"
 
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native"
-DEPENDS_append_qoriq-arm64 = " dtc-native"
-DEPENDS_append_qoriq-arm = " dtc-native"
-DEPENDS_append_qoriq-ppc = " boot-format-native"
+DEPENDS:append:qoriq-arm64 = " dtc-native"
+DEPENDS:append:qoriq-arm = " dtc-native"
+DEPENDS:append:qoriq-ppc = " boot-format-native"
 
 python () {
     if d.getVar("TCMODE") == "external-fsl":
         sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux'
         sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
         workdir = d.getVar('WORKDIR')
-        d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc')
-        d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
+        d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc')
+        d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
         d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot')
         d.setVar("WRAP_TARGET_PREFIX", 'powerpc' + sys_multilib + '-')
     elif "fsl-lsch2-32b:" in arch:
         sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux'
         sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
         workdir = d.getVar('WORKDIR')
-        d.setVar('DEPENDS_append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
-        d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
+        d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
+        d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
         d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot')
         d.setVar("WRAP_TARGET_PREFIX", 'aarch64' + sys_multilib + '-')
 }
 EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
 EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
 
-do_compile_append_qoriq() {
+do_compile:append:qoriq() {
     unset i j k
     for config in ${UBOOT_MACHINE}; do
         i=`expr $i + 1`;
 
 
 PACKAGES += "${PN}-images"
-FILES_${PN}-images += "/boot"
+FILES:${PN}-images += "/boot"
 COMPATIBLE_MACHINE = "(qoriq)"
 
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/uefi/*"
+FILES:${PN}-image += "/uefi/*"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
 
-do_install_append () {
+do_install:append () {
     install -d ${D}/usr/include/tc 
     cp -a ${B}/include  ${D}/usr/include
     cp -a ${B}/tc/*.h    ${D}/usr/include/tc
 
-FILESEXTRAPATHS_append := "${THISDIR}/${PN}-qoriq:"
+FILESEXTRAPATHS:append := "${THISDIR}/${PN}-qoriq:"
 
-SRC_URI_append_qoriq = " \
+SRC_URI:append:qoriq = " \
        file://0001-eng_devcrypto-add-support-for-TLS-algorithms-offload.patch \
        file://0002-eng_devcrypto-add-support-for-TLS1.2-algorithms-offl.patch \
 "
 
-PACKAGECONFIG_append_qoriq = " cryptodev-linux"
+PACKAGECONFIG:append:qoriq = " cryptodev-linux"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
 
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     nativesdk-mxsldr \
     nativesdk-u-boot-mkimage \
     nativesdk-imx-usb-loader \
 
 S = "${WORKDIR}"
 
 RULE = "71-fsl-dpaa-persistent-networking.rules"
-RULE_e6500 = "72-fsl-dpaa-persistent-networking.rules"
-RULE_e6500-64b = "72-fsl-dpaa-persistent-networking.rules"
-RULE_t1024 = "72-fsl-dpaa-persistent-networking.rules"
-RULE_qoriq-arm64 = "73-fsl-dpaa-persistent-networking.rules \
+RULE:e6500 = "72-fsl-dpaa-persistent-networking.rules"
+RULE:e6500-64b = "72-fsl-dpaa-persistent-networking.rules"
+RULE:t1024 = "72-fsl-dpaa-persistent-networking.rules"
+RULE:qoriq-arm64 = "73-fsl-dpaa-persistent-networking.rules \
     73-fsl-enetc-networking.rules \
 "
-RULE_ls1046a = "73-fsl-dpaa-persistent-networking.rules \
+RULE:ls1046a = "73-fsl-dpaa-persistent-networking.rules \
     74-ls1046a-xfi2-networking.rules \
 "
-RULE_ls1012a = ""
-RULE_ls2080a = ""
+RULE:ls1012a = ""
+RULE:ls2080a = ""
 
 do_install () {
     install -d ${D}${sysconfdir}/udev/rules.d/
     done
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 COMPATIBLE_MACHINE = "(qoriq)"
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff"
 
 DEPENDS += "openssl cst-native"
-RDEPENDS_${PN} = "bash"
+RDEPENDS:${PN} = "bash"
 
 GENKEYS ?= "${STAGING_BINDIR_NATIVE}/cst/gen_keys"
-GENKEYS_class-native = "./gen_keys"
+GENKEYS:class-native = "./gen_keys"
 
 inherit kernel-arch
 
     fi
 }
 
-FILES_${PN}-dbg += "${bindir}/cst/.debug"
+FILES:${PN}-dbg += "${bindir}/cst/.debug"
 BBCLASSEXTEND = "native nativesdk"
 
     pkgs = d.getVar('PACKAGES').split()
     for p in pkgs:
         if '-qoriq' in p:
-            d.appendVar('RPROVIDES_' + p, ' ' + p.replace('-qoriq', ''))
-            d.appendVar('RCONFLICTS_' + p, ' ' + p.replace('-qoriq', ''))
-            d.appendVar('RREPLACES_' + p, ' ' + p.replace('-qoriq', ''))
+            d.appendVar('RPROVIDES:' + p, ' ' + p.replace('-qoriq', ''))
+            d.appendVar('RCONFLICTS:' + p, ' ' + p.replace('-qoriq', ''))
+            d.appendVar('RREPLACES:' + p, ' ' + p.replace('-qoriq', ''))
 }
 
-RDEPENDS_${PN}_class-target += "bash"
+RDEPENDS:${PN}:class-target += "bash"
 
-EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
-EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
-EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
+EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
 
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
      ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
 }
 
     fdt sdl kvm aio libusb vhost \
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
 "
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm"
 
 PACKAGECONFIG[xkbcommon] = ",,"
 PACKAGECONFIG[libudev] = ",,"
 
 HOMEPAGE = "http://qemu.org"
 LICENSE = "GPLv2 & LGPLv2.1"
 
-RDEPENDS_${PN}-ptest = "bash make"
+RDEPENDS:${PN}-ptest = "bash make"
 
 require qemu-targets.inc
 inherit pkgconfig ptest
 
 SRC_URI[sha256sum] = "c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5"
 
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
+COMPATIBLE_HOST:mipsarchn32 = "null"
+COMPATIBLE_HOST:mipsarchn64 = "null"
 
 # Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html
 # upstream states qemu doesn't work without optimization
 DEBUG_BUILD = "0"
 
-do_install_append() {
+do_install:append() {
     # Prevent QA warnings about installed ${localstatedir}/run
     if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
 }
 
 B = "${WORKDIR}/build"
 
-EXTRA_OECONF_append = " --python=${HOSTTOOLS_DIR}/python3"
+EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3"
 
-do_configure_prepend_class-native() {
+do_configure:prepend:class-native() {
        # Append build host pkg-config paths for native target since the host may provide sdl
        BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
        if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
 # This will trigger a MMU access fault in the virtual CPU. With this change,
 # the qemu-mips works fine.
 # IMPORTANT: This piece needs to be removed once the root cause is fixed!
-do_install_append() {
+do_install:append() {
        if [ -e "${D}/${bindir}/qemu-mips" ]; then
                create_wrapper ${D}/${bindir}/qemu-mips \
                        QEMU_RESERVED_VA=0x0
 }
 
 # Disable kvm/virgl/mesa on targets that do not support it
-PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+"
-PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:darwin = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer glx gtk+"
 
 PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
 PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust,"
 PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
 
-INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP:${PN} = "arch"
 
-FILES_${PN} += "${datadir}/icons"
+FILES:${PN} += "${datadir}/icons"
 
     oe_runmake install DESTDIR=${D}
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 S = "${WORKDIR}/git"
 
 REGLEX ?= "${MACHINE}"
-REGLEX_t1023 = "t1024"
-REGLEX_t1040 = "t1040"
-REGLEX_t1042 = "t1040"
+REGLEX:t1023 = "t1024"
+REGLEX:t1040 = "t1040"
+REGLEX:t1042 = "t1040"
 REGLEX_b4420 = "b4860"
-REGLEX_t4160 = "t4240"
-REGLEX_ls1043a = "ls1043"
-REGLEX_ls1046a = "ls1046"
+REGLEX:t4160 = "t4240"
+REGLEX:ls1043a = "ls1043"
+REGLEX:ls1046a = "ls1046"
 
 do_install () {
     UCODE=`echo ${REGLEX} | sed -e 's,-.*$,,' -e 's,[a-zA-Z]*$,,'`
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN}-image += "/boot"
+ALLOW_EMPTY:${PN} = "1"
 
 COMPATIBLE_MACHINE = "(e500mc|e5500|e5500-64b|e6500|e6500-64b|fsl-lsch2)"
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
         CROSS_COMPILE=${TARGET_PREFIX} KERNEL_SRC=${STAGING_KERNEL_DIR}"
 
 TARGET_ARCH_FMLIB = "${DEFAULTTUNE}"
-TARGET_ARCH_FMLIB_qoriq-arm = "arm"
-TARGET_ARCH_FMLIB_qoriq-arm64 = "arm"
-TARGET_ARCH_FMLIB_e5500 = "ppc32e5500"
-TARGET_ARCH_FMLIB_e6500 = "ppc32e6500"
-TARGET_ARCH_FMLIB_e500mc = "ppce500mc"
-TARGET_ARCH_FMLIB_e500v2 = "ppce500v2"
+TARGET_ARCH_FMLIB:qoriq-arm = "arm"
+TARGET_ARCH_FMLIB:qoriq-arm64 = "arm"
+TARGET_ARCH_FMLIB:e5500 = "ppc32e5500"
+TARGET_ARCH_FMLIB:e6500 = "ppc32e6500"
+TARGET_ARCH_FMLIB:e500mc = "ppce500mc"
+TARGET_ARCH_FMLIB:e500v2 = "ppce500v2"
 
 FMLIB_TARGET = "libfm-${TARGET_ARCH_FMLIB}"
-FMLIB_TARGET_t1 = "libfm-${TARGET_ARCH_FMLIB}-fmv3l"
+FMLIB_TARGET:t1 = "libfm-${TARGET_ARCH_FMLIB}-fmv3l"
 
 do_compile () {
     oe_runmake ${FMLIB_TARGET}.a
 
 do_compile[depends] += "virtual/kernel:do_shared_workdir"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 
 do_compile[noexec] = "1"
 
 DEMOS_PATH_ls2088a = "LS2088A"
-DEMOS_PATH_ls1088a = "LS1088A"
+DEMOS_PATH:ls1088a = "LS1088A"
 
 do_install () {
     install -d ${D}/usr/aiop/bin
     cp -rf ${S}/misc/setup/traffic_files/ ${D}/usr/aiop/
 }
 
-FILES_${PN} += "/usr/aiop/*"
-INSANE_SKIP_${PN} += "arch"
+FILES:${PN} += "/usr/aiop/*"
+INSANE_SKIP:${PN} += "arch"
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 COMPATIBLE_MACHINE = "(ls2088a|ls1088a)"
 
     oe_runmake install DESTDIR=${D}
 }
 
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 
 S = "${WORKDIR}/git"
 
 REGLEX_ls2088a = "ls2088a"
-REGLEX_ls2080a = "ls2080a"
-REGLEX_ls1088a = "ls1088a"
-REGLEX_lx2160a = "lx2160a"
+REGLEX:ls2080a = "ls2080a"
+REGLEX:ls1088a = "ls1088a"
+REGLEX:lx2160a = "lx2160a"
 
 do_install () {
     install -d ${D}/boot
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 INHIBIT_PACKAGE_STRIP = "1"
 
 
 S = "${WORKDIR}/git"
 
 REGLEX_ls2088a = "ls2088a"
-REGLEX_ls2080a = "ls2080a"
-REGLEX_ls1088a = "ls1088a"
-REGLEX_lx2160a = "lx2160a"
+REGLEX:ls2080a = "ls2080a"
+REGLEX:ls1088a = "ls1088a"
+REGLEX:lx2160a = "lx2160a"
 
 do_install () {
     install -d ${D}/boot
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 INHIBIT_PACKAGE_STRIP = "1"
 
 
 S = "${WORKDIR}/git"
 
 REGLEX_ls2088a = "ls2088a"
-REGLEX_ls2080a = "ls2080a"
-REGLEX_ls1088a = "ls1088a"
-REGLEX_lx2160a = "lx216xa"
-REGLEX_lx2162a = "lx216xa"
+REGLEX:ls2080a = "ls2080a"
+REGLEX:ls1088a = "ls1088a"
+REGLEX:lx2160a = "lx216xa"
+REGLEX:lx2162a = "lx216xa"
 
 do_install () {
     install -d ${D}/boot
 addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
+FILES:${PN}-image += "/boot"
 
 INHIBIT_PACKAGE_STRIP = "1"
 
 
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ec8d84e9cd4de287e290275d09db27f0"
 
-RDEPENDS_${PN} += "bash dtc"
+RDEPENDS:${PN} += "bash dtc"
 
 SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/restool;nobranch=1"
 SRCREV = "8ddbe4c9559ffad5d7e5dd3cd5f00ceeff7f05d4"
 
        oe_runmake install  DESTDIR=${D}
 }
 
-FILES_${PN} += "/share/man/*  ${libdir}/* ${sbindir}/*"
+FILES:${PN} += "/share/man/*  ${libdir}/* ${sbindir}/*"
 
 DESCRIPTION = "Data Plane Development Kit"
 HOMEPAGE = "http://dpdk.org"
 
-RDEPENDS_${PN} += "python3-core"
+RDEPENDS:${PN} += "python3-core"
 DEPENDS = "virtual/kernel openssl"
-DEPENDS_append_x86-64 = " numactl"
+DEPENDS:append:x86-64 = " numactl"
 do_configure[depends] += "virtual/kernel:do_shared_workdir"
 
 inherit module
 
 COMPATIBLE_HOST = '(aarch64|arm|i.86|x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
-COMPATIBLE_HOST_armv6 = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
+COMPATIBLE_HOST:armv4 = 'null'
+COMPATIBLE_HOST:armv5 = 'null'
+COMPATIBLE_HOST:armv6 = 'null'
 
 COMPATIBLE_MACHINE = "(imx|qoriq)"
 
-DPDK_RTE_TARGET_x86-64 = "x86_64-native-linuxapp-gcc"
-DPDK_RTE_TARGET_x86 = "i686-native-linuxapp-gcc"
-DPDK_RTE_TARGET_armv7a = "${ARCH}-armv7a-linuxapp-gcc"
-DPDK_RTE_TARGET_armv7ve = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET:x86-64 = "x86_64-native-linuxapp-gcc"
+DPDK_RTE_TARGET:x86 = "i686-native-linuxapp-gcc"
+DPDK_RTE_TARGET:armv7a = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET:armv7ve = "${ARCH}-armv7a-linuxapp-gcc"
 DPDK_RTE_TARGET ?= "${ARCH}-dpaa-linuxapp-gcc"
 
 export RTE_TARGET = "${DPDK_RTE_TARGET}"
 
 PACKAGES += "${PN}-examples"
 
-FILES_${PN}-dbg += " \
+FILES:${PN}-dbg += " \
        ${datadir}/dpdk/.debug \
        ${datadir}/dpdk/examples/*/.debug \
        "
-FILES_${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
+FILES:${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
 "
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
        ${datadir}/dpdk/${RTE_TARGET}/.config \
        ${includedir} \
        ${includedir}/exec-env \
        ${datadir}/dpdk/mk \
        "
 
-FILES_${PN} += " ${datadir}/ \
+FILES:${PN} += " ${datadir}/ \
                 ${prefix}/sbin/ \
                 ${prefix}/bin/ \
                 ${libdir}/ \
                 "
-FILES_${PN}-examples += " \
+FILES:${PN}-examples += " \
        ${datadir}/examples/* \
        "
 
 
 include dpdk.inc
 
-do_install_append () {
+do_install:append () {
     # Remove the unneeded dir
     rm -rf ${D}/${datadir}/${RTE_TARGET}/app
 }
 
     install ${S}/fsl_shm/lib/*.h ${D}${includedir}/ipc/fsl_shm/lib
 }
 
-FILES_${PN} += "${base_libdir}/*.so /ipc/*"
-FILES_${PN}-dev = "${includedir}"
-FILES_${PN}-dbg += "/ipc/.debug"
+FILES:${PN} += "${base_libdir}/*.so /ipc/*"
+FILES:${PN}-dev = "${includedir}"
+FILES:${PN}-dbg += "/ipc/.debug"
 
-INSANE_SKIP_${PN} += "file-rdeps"
-INSANE_SKIP_${PN}-dev += "dev-elf"
+INSANE_SKIP:${PN} += "file-rdeps"
+INSANE_SKIP:${PN}-dev += "dev-elf"
 
 COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 INMATES_DIR ?= "${JH_DATADIR}/inmates"
 
 JH_CONFIG ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG_x86 ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG_x86-64 ?= "${S}/ci/jailhouse-config-x86.h"
-JH_CONFIG_arm ?= "${S}/ci/jailhouse-config-banana-pi.h"
+JH_CONFIG:x86 ?= "${S}/ci/jailhouse-config-x86.h"
+JH_CONFIG:x86-64 ?= "${S}/ci/jailhouse-config-x86.h"
+JH_CONFIG:arm ?= "${S}/ci/jailhouse-config-banana-pi.h"
 
 do_configure() {
    if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
 
 PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse"
 
-FILES_${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
-FILES_pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}/pyjailhouse"
+FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
+FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}/pyjailhouse"
 
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
     python3-curses \
     python3-datetime \
     python3-mmap \
 "
 
-RDEPENDS_pyjailhouse = " \
+RDEPENDS:pyjailhouse = " \
     python3-core \
     python3-ctypes \
     python3-fcntl \
     python3-shell \
 "
 
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
 
 COMPATIBLE_MACHINE = "(mx8m)"
 
 }
 
 PARALLEL_MAKE = ""
-INSANE_SKIP_${PN} = "ldflags dev-deps"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
+INSANE_SKIP:${PN} = "ldflags dev-deps"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
 
-FILES_${PN} = "/*"
-ALLOW_EMPTY_${PN} = "1"
-INSANE_SKIP_${PN} = "debug-files dev-so"
+FILES:${PN} = "/*"
+ALLOW_EMPTY:${PN} = "1"
+INSANE_SKIP:${PN} = "debug-files dev-so"
 
 
 inherit module
 
-do_compile_prepend () {
+do_compile:prepend () {
     export KERNEL_PATH="${STAGING_KERNEL_DIR}"
     export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
     cd ${S}/test/debug/perf_counters
 
 
 inherit module
 
-do_compile_prepend () {
+do_compile:prepend () {
     export KERNEL_PATH="${STAGING_KERNEL_DIR}"
     export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
     cd ${S}/kern
     install -m 755 ${S}/kern/odpfsl_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/odp
 }
 
-PKG_${PN} = "kernel-module-${PN}"
+PKG:${PN} = "kernel-module-${PN}"
 
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ca6103dc75397fb6bec596187d6b7829"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/odp:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/odp:"
 
 SRC_URI = " \
 git://source.codeaurora.org/external/qoriq/qoriq-components/odp;nobranch=1 \
 
 
 DEPENDS = "openssl cunit libxml2"
 
-RDEPENDS_${PN} = "bash libcrypto libssl odp-module odp-counters"
+RDEPENDS:${PN} = "bash libcrypto libssl odp-module odp-counters"
 
 ODP_SOC ?= ""
-ODP_SOC_ls1043ardb = "LS1043"
-ODP_SOC_ls1046ardb = "LS1046"
+ODP_SOC:ls1043ardb = "LS1043"
+ODP_SOC:ls1046ardb = "LS1046"
 ODP_PLATFORM ?= "linux-dpaa2"
 ODP_BUILD_TYPE ?= "ls2088"
-ODP_BUILD_TYPE_ls1043ardb = "ls1043"
-ODP_BUILD_TYPE_ls1046ardb = "ls1046"
-ODP_BUILD_TYPE_ls2080ardb = "ls2080"
-ODP_BUILD_TYPE_ls1088ardb = "ls1088"
+ODP_BUILD_TYPE:ls1043ardb = "ls1043"
+ODP_BUILD_TYPE:ls1046ardb = "ls1046"
+ODP_BUILD_TYPE:ls2080ardb = "ls2080"
+ODP_BUILD_TYPE:ls1088ardb = "ls1088"
 
 EXTRA_OECONF = "--with-platform=${ODP_PLATFORM} \
                 --enable-test-vald \
 
 PACKAGECONFIG[perf] = "--enable-test-perf,,,"
 
-do_configure_prepend () {
+do_configure:prepend () {
     export SOC=${ODP_SOC}
     ${S}/bootstrap
 }
 
-do_compile_prepend () {
+do_compile:prepend () {
     export SOC=${ODP_SOC}
     export ARCH=${TUNE_ARCH}
 }
 
-do_install_append () {
+do_install:append () {
     install -d ${D}${includedir}/odp/kni
     install -d ${D}${includedir}/odp/kern
     install -d ${D}${includedir}/odp/flib/mc
     sed -i -e 's#platform/linux-dpaa2/##g' ${D}${includedir}/odp/kern/*.h
 }
 
-FILES_${PN}-staticdev += "${datadir}/opendataplane/*.la"
-FILES_${PN} += "/usr/odp/bin /usr/odp/scripts /usr/odp/debug /usr/odp/test/validation /usr/odp/test/performance /usr/odp/test/miscellaneous /usr/odp/test/api_test"
-FILES_${PN}-dbg += "/usr/odp/bin/.debug /usr/odp/debug/.debug /usr/odp/test/validation/.debug /usr/odp/test/performance/.debug /usr/odp/test/miscellaneous/.debug /usr/odp/test/api_test/.debug"
+FILES:${PN}-staticdev += "${datadir}/opendataplane/*.la"
+FILES:${PN} += "/usr/odp/bin /usr/odp/scripts /usr/odp/debug /usr/odp/test/validation /usr/odp/test/performance /usr/odp/test/miscellaneous /usr/odp/test/api_test"
+FILES:${PN}-dbg += "/usr/odp/bin/.debug /usr/odp/debug/.debug /usr/odp/test/validation/.debug /usr/odp/test/performance/.debug /usr/odp/test/miscellaneous/.debug /usr/odp/test/api_test/.debug"
 
     ${S}/configure ${EXTRA_OECONF}
 }
 
-FILES_${PN} += "/usr/ofp/bin"
-FILES_${PN}-dbg += "/usr/ofp/bin/.debug"
+FILES:${PN} += "/usr/ofp/bin"
+FILES:${PN}-dbg += "/usr/ofp/bin/.debug"
 COMPATIBLE_MACHINE = "(ls2088a|ls1088a)"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab"
 
 DEPENDS = "dpdk python3-six-native coreutils-native"
-RDEPENDS_${PN} = "bash libcrypto libssl python3"
+RDEPENDS:${PN} = "bash libcrypto libssl python3"
 
 inherit python3native
 
        chmod 777 -R ${D}${bindir}/ovs-dpdk/*
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 INHIBIT_PACKAGE_STRIP = "1"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 
         cp -f  ${S}/Pktgen.lua ${D}${bindir}/
 }
 
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
 INHIBIT_PACKAGE_STRIP = "1"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 PARALLEL_MAKE = ""
 
-do_install_append_qoriq-ppc() {
+do_install:append:qoriq-ppc() {
     for keyword in \
         net.ipv4.conf.default.rp_filter \
         net.ipv4.conf.all.rp_filter \
 
 LICENSE = "BSD"
 
 DEPENDS = "openssl optee-os-qoriq optee-client-qoriq"
-RDEPENDS_${PN} = "bash libcrypto libssl"
+RDEPENDS:${PN} = "bash libcrypto libssl"
 
 DEPENDS += "python3-pycryptodomex-native"
 
 
 EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 INHIBIT_PACKAGE_STRIP = "1"
 PARALLEL_MAKE = ""
-INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP:${PN} = "ldflags"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 DEBUG_BUILD = "1"
 
 
 S = "${WORKDIR}/git"
 
-RDEPENDS_{PN}  += "secure-obj-module"
+RDEPENDS:{PN}  += "secure-obj-module"
 
 WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
 export SECURE_STORAGE_PATH = "${S}/secure_storage_ta/ta/"
 export OPTEE_CLIENT_EXPORT = "${RECIPE_SYSROOT}/usr"
 export CROSS_COMPILE_HOST = "${CROSS_COMPILE}"
 export CROSS_COMPILE_TA = "${CROSS_COMPILE}"
-ARCH_qoriq-arm64 = "aarch64"
-ARCH_qoriq-arm = "arm"
+ARCH:qoriq-arm64 = "aarch64"
+ARCH:qoriq-arm = "arm"
 
 do_compile() {
         unset LDFLAGS
         rm -rf ${D}${bindir}/test
 }
 
-FILES_${PN} += "${base_libdir}/optee_armtz ${libdir}/${ARCH}-linux-gnu/openssl-1.0.0/engines"
-INSANE_SKIP_${PN} = "dev-deps ldflags"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
+FILES:${PN} += "${base_libdir}/optee_armtz ${libdir}/${ARCH}-linux-gnu/openssl-1.0.0/engines"
+INSANE_SKIP:${PN} = "dev-deps ldflags"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
 
 SRC_URI = " http://www.jhauser.us/arithmetic/TestFloat-2a.tar.Z;name=TestFloat \
             http://www.jhauser.us/arithmetic/SoftFloat-2b.tar.Z;name=SoftFloat \
           "
-SRC_URI_append_qoriq-ppc = " file://SoftFloat-powerpc-1.patch \
+SRC_URI:append:qoriq-ppc = " file://SoftFloat-powerpc-1.patch \
                               file://TestFloat-powerpc-E500v2-SPE-1.patch \
                               file://Yocto-replace-COMPILE_PREFIX-gcc.patch \
                             "
     install testfloat/powerpc-linux-gcc/testsoftfloat ${D}/${bindir}
 }
 
-COMPATIBLE_HOST_e500v2 = ".*"
+COMPATIBLE_HOST:e500v2 = ".*"
 COMPATIBLE_HOST ?= "(none)"
 
 
 
 do_configure[depends] += "virtual/kernel:do_shared_workdir"
 
-do_compile_prepend() {
+do_compile:prepend() {
         mkdir -p ${S}/include/linux
         cp -r ${STAGING_KERNEL_DIR}/include/uapi/linux/tsn.h ${S}/include/linux
 }     
 }
 
 PACKAGES = "${PN}-dbg ${PN}"
-FILES_${PN} = "${libdir}/libtsn.so ${bindir}/*"
-INSANE_SKIP_${PN} += "file-rdeps rpaths dev-so"
+FILES:${PN} = "${libdir}/libtsn.so ${bindir}/*"
+INSANE_SKIP:${PN} += "file-rdeps rpaths dev-so"
 COMPATIBLE_MACHINE = "(qoriq)"
 PARALLEL_MAKE = ""
 
 inherit packagegroup
 
 ISP_PKGS      ?= ""
-ISP_PKGS_mx8mp = " \
+ISP_PKGS:mx8mp = " \
     isp-imx \
     basler-camera \
     basler-camera-dev \
     kernel-module-isp-vvcam \
 "
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     ${ISP_PKGS} \
 "
 
 # Distro can override the following VIRTUAL-RUNTIME providers:
 VIRTUAL-RUNTIME_keymaps ?= "keymaps"
 
-RDEPENDS_${PN}-base = " \
+RDEPENDS:${PN}-base = " \
     bash \
     imx-uuc \
     util-linux \
     ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
 "
 
-RDEPENDS_${PN}-mtd = " \
+RDEPENDS:${PN}-mtd = " \
     ${PN}-base \
     imx-kobs \
     mtd-utils \
     mtd-utils-ubifs \
 "
 
-RDEPENDS_${PN}-extfs = " \
+RDEPENDS:${PN}-extfs = " \
     ${PN}-base \
     e2fsprogs-mke2fs \
     e2fsprogs-e2fsck \
 
     opencv-samples \
     python3-opencv \
 "
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     ${OPENCV_PKGS} \
 "
 
 
 inherit packagegroup
 
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     kernel-module-qca6174 \
     firmware-qca6174 \
 "
 
 COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 
 inherit packagegroup
 
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
     kernel-module-qca9377 \
     firmware-qca9377 \
 "
 COMPATIBLE_HOST = '(aarch64|arm).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
-PACKAGECONFIG_append_imxgpu3d = " egl glesv2"
-PACKAGECONFIG_remove_imxgpu3d = "opengl"
+PACKAGECONFIG:append:imxgpu3d = " egl glesv2"
+PACKAGECONFIG:remove:imxgpu3d = "opengl"
 
 PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
 PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
 
-ALLOW_EMPTY_${PN}-drivers = "1"
+ALLOW_EMPTY:${PN}-drivers = "1"
 PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
              ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
              ${PN}-etnaviv"
 
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
                              ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
                              ${PN}-etnaviv"
 
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+FILES:${PN}-tests = "${bindir}/*"
+FILES:${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES:${PN}-kms = "${libdir}/libkms*.so.*"
+FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
+FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
 
 BBCLASSEXTEND = "native nativesdk"
 
-PACKAGES_prepend_imxgpu = "${PN}-vivante "
-RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante"
-FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
-PACKAGECONFIG_append_imxgpu = " vivante"
+PACKAGES:prepend:imxgpu = "${PN}-vivante "
+RRECOMMENDS:${PN}-drivers:append:imxgpu = " ${PN}-vivante"
+FILES:${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
+PACKAGECONFIG:append:imxgpu = " vivante"
 PACKAGECONFIG[vivante] = "-Dvivante=true,-Dvivante=false"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 
-DEPENDS_append_imxgpu2d = " virtual/egl"
+DEPENDS:append:imxgpu2d = " virtual/egl"
 
-PACKAGECONFIG_remove_imxgpu2d = " \
+PACKAGECONFIG:remove:imxgpu2d = " \
     ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "x11", "", d)} \
 "
 
 # FIXME: i.MX6SL cannot use mesa for Graphics and it lacks GL support,
 #        so for now we skip it.
-CORE_IMAGE_BASE_INSTALL_remove_mx6sl = "clutter-1.0-examples"
+CORE_IMAGE_BASE_INSTALL:remove:mx6sl = "clutter-1.0-examples"
 
     cp -r ${S}/gpu-demos/opt ${D}
 }
 
-FILES_${PN} = "${libdir}/libg2d* /opt"
-FILES_${PN}-dev = "${libdir}/libg2d${SOLIBSDEV} ${includedir}"
-INSANE_SKIP_${PN} += "ldflags"
+FILES:${PN} = "${libdir}/libg2d* /opt"
+FILES:${PN}-dev = "${libdir}/libg2d${SOLIBSDEV} ${includedir}"
+INSANE_SKIP:${PN} += "ldflags"
 
-RDEPENDS_${PN} = "libgal-imx libdrm"
+RDEPENDS:${PN} = "libgal-imx libdrm"
 
 # This is required to provide support for VPU Amphion HEVC tile format
 # From NXP [MGS-5547] (commit e175d6b4f78deab24d319b852998bef55cdecc99):
 # VPU Amphion HEVC tile support was added using OpenCL, so add a dependency on libopencl-imx.
-RDEPENDS_${PN} += "libopencl-imx"
+RDEPENDS:${PN} += "libopencl-imx"
 
 COMPATIBLE_MACHINE = "(imxdpu)"
 
 
 inherit cmake pkgconfig perlnative python3native
 
-PACKAGECONFIG_BACKEND_mx6 = " \
+PACKAGECONFIG_BACKEND:mx6 = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'waffle', \
        bb.utils.contains('DISTRO_FEATURES',     'x11',    'x11', \
                                                              '', d), d)} \
 "
-PACKAGECONFIG_BACKEND_mx7 = "${PACKAGECONFIG_BACKEND_mx6}"
-PACKAGECONFIG_BACKEND_mx8 = "waffle"
+PACKAGECONFIG_BACKEND:mx7 = "${PACKAGECONFIG_BACKEND:mx6}"
+PACKAGECONFIG_BACKEND:mx8 = "waffle"
 
 PACKAGECONFIG_GPU2D          = ""
-PACKAGECONFIG_GPU2D_imxgpu2d = "vivante"
+PACKAGECONFIG_GPU2D:imxgpu2d = "vivante"
 
 PACKAGECONFIG ??= " \
     egl \
 
 SOLIBS = ".so"
 FILES_SOLIBSDEV = ""
-FILES_${PN} += " \
+FILES:${PN} += " \
     ${libdir}/apitrace/scripts/* \
     ${libdir}/apitrace/wrappers/* \
 "
 
     cp -r ${S}/gpu-demos/opt ${D}
 }
 
-FILES_${PN} = "${libdir}/libg2d* /opt"
-FILES_${PN}-dev = "${includedir}"
-INSANE_SKIP_${PN} = "ldflags"
+FILES:${PN} = "${libdir}/libg2d* /opt"
+FILES:${PN}-dev = "${includedir}"
+INSANE_SKIP:${PN} = "ldflags"
 
-RDEPENDS_${PN} = "libgal-imx"
+RDEPENDS:${PN} = "libgal-imx"
 
 COMPATIBLE_MACHINE = "(imxgpu2d)"
 
     ${@bb.utils.contains('DISTRO_FEATURES',     'x11', 'libxcb libxshmfence libxxf86vm', \
                                                        '', d)} \
 "
-DEPENDS_append_imxdrm = " libdrm wayland"
-DEPENDS_append_mx8 = " patchelf-native"
+DEPENDS:append_imxdrm = " libdrm wayland"
+DEPENDS:append:mx8 = " patchelf-native"
 
 # imx-gpu-viv does not provide everything it needs to for virtual/libgl
 # on x11 backend or on Wayland backend with XWayland support.
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}"
 
 EXTRA_PROVIDES = ""
-EXTRA_PROVIDES_append_imxgpu3d = " \
+EXTRA_PROVIDES:append:imxgpu3d = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'virtual/libgl', \
        bb.utils.contains('DISTRO_FEATURES',     'x11', 'virtual/libgl', \
                                                        '', d), d)} \
     virtual/libgles1 \
     virtual/libgles2 \
 "
-EXTRA_PROVIDES_append_mx8 = " \
+EXTRA_PROVIDES:append:mx8 = " \
     virtual/libgbm \
 "
 PROVIDES_OPENVX       = ""
-PROVIDES_OPENVX_mx8   = "virtual/libopenvx"
-PROVIDES_OPENVX_mx8mm = ""
+PROVIDES_OPENVX:mx8   = "virtual/libopenvx"
+PROVIDES_OPENVX:mx8mm = ""
 PROVIDES += " \
     imx-gpu-viv \
     libgal-imx \
     ${EXTRA_PROVIDES} \
 "
 
-RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv"
+RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv"
 
 PE = "1"
 
 inherit fsl-eula-unpack features_check
 
-REQUIRED_DISTRO_FEATURES_mx8 = "wayland"
+REQUIRED_DISTRO_FEATURES:mx8 = "wayland"
 
 SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
 
 
 # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below
 IMX_PACKAGES_GBM     = ""
-IMX_PACKAGES_GBM_mx8 = "libgbm-imx libgbm-imx-dev"
+IMX_PACKAGES_GBM:mx8 = "libgbm-imx libgbm-imx-dev"
 PACKAGES =+ "libclc-imx libclc-imx-dev \
        libgl-imx libgl-imx-dev \
        libgles1-imx libgles1-imx-dev \
 # Inhibit warnings about files being stripped.
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INSANE_SKIP_${BPN} += "already-stripped"
+INSANE_SKIP:${BPN} += "already-stripped"
 
 # FIXME: The provided binary doesn't provide soname. If in future BSP
 # release the libraries are fixed, we can drop this hack.
     # the source we cannot fix it. Disable the insane check for now.
     packages = d.getVar('PACKAGES').split()
     for p in packages:
-        d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
+        d.appendVar("INSANE_SKIP:%s" % p, " ldflags")
 
     # For the packages that make up the OpenGL interfaces, inject variables so that
     # they don't get Debian-renamed (which would remove the -imx suffix).
               ("libgles3",), ("libgbm",)):
         fullp = p[0] + "-imx"
         pkgs = "".join(' %s' % i for i in p)
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
+        d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+        d.appendVar("RREPLACES:" + fullp, pkgs)
+        d.appendVar("RPROVIDES:" + fullp, pkgs)
+        d.appendVar("RCONFLICTS:" + fullp, pkgs)
 
         # For -dev, the first element is both the Debian and original name
         fullp += "-dev"
         pkgs = p[0] + "-dev"
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
+        d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
+        d.appendVar("RREPLACES:" + fullp, pkgs)
+        d.appendVar("RPROVIDES:" + fullp, pkgs)
+        d.appendVar("RCONFLICTS:" + fullp, pkgs)
 }
 
 IS_MX6SL = "0"
-IS_MX6SL_mx6sl = "1"
+IS_MX6SL:mx6sl = "1"
 
 IS_MX8 = "0"
-IS_MX8_mx8 = "1"
+IS_MX8:mx8 = "1"
 
 PACKAGE_FP_TYPE = "hardfp"
 
 HAS_GBM     = "false"
-HAS_GBM_mx8 = "true"
+HAS_GBM:mx8 = "true"
 
 GLES3_HEADER_REMOVALS        = "gl31.h gl32.h"
-GLES3_HEADER_REMOVALS_mx8m   = "gl32.h"
-GLES3_HEADER_REMOVALS_mx8mm  = "gl31.h gl32.h"
-GLES3_HEADER_REMOVALS_mx8qxp = ""
-GLES3_HEADER_REMOVALS_mx8qm  = ""
+GLES3_HEADER_REMOVALS:mx8m   = "gl32.h"
+GLES3_HEADER_REMOVALS:mx8mm  = "gl31.h gl32.h"
+GLES3_HEADER_REMOVALS:mx8qxp = ""
+GLES3_HEADER_REMOVALS:mx8qm  = ""
 
 do_install () {
     install -d ${D}${libdir}
     chown -R root:root "${D}"
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
-FILES_libclc-imx = "${libdir}/libCLC${SOLIBS}"
-FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
+FILES:libclc-imx = "${libdir}/libCLC${SOLIBS}"
+FILES:libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
 
 # libEGL.so is used by some demo apps from Freescale
-INSANE_SKIP_libegl-imx += "dev-so"
-FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
-FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
+INSANE_SKIP:libegl-imx += "dev-so"
+FILES:libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
+FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
 
-FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
-FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
-RDEPENDS_libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
-RPROVIDES_libgal-imx += "libgal-imx"
-RRECOMMENDS_libgal-imx += "kernel-module-imx-gpu-viv"
-INSANE_SKIP_libgal-imx += "build-deps"
+FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
+FILES:libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
+RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
+RPROVIDES:libgal-imx += "libgal-imx"
+RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv"
+INSANE_SKIP:libgal-imx += "build-deps"
 
-FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
+FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}"
 
-FILES_libgbm-imx_mx8           = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}"
-FILES_libgbm-imx-dev_mx8       = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
-RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
-INSANE_SKIP_libgbm-imx += "dev-so"
+FILES:libgbm-imx:mx8           = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}"
+FILES:libgbm-imx-dev:mx8       = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
+RDEPENDS:libgbm-imx:append:mx8 = " libdrm"
+INSANE_SKIP:libgbm-imx += "dev-so"
 
-FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
-FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
+FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
+FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
 
-FILES_libopenvx-imx = " \
+FILES:libopenvx-imx = " \
     ${libdir}/libOpenVX${REALSOLIBS} \
     ${libdir}/libOpenVXC${SOLIBS} \
     ${libdir}/libOpenVXU${SOLIBS} \
     ${libdir}/libOvx*${SOLIBS} \
     ${libdir}/libArchModelSw${SOLIBS} \
 "
-FILES_libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
-RDEPENDS_libopenvx-imx = "libnn-imx"
+FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
+RDEPENDS:libopenvx-imx = "libnn-imx"
 
-FILES_libgl-imx = "${libdir}/libGL${REALSOLIBS}"
-FILES_libgl-imx-dev = "${libdir}/libGL${SOLIBSDEV} ${includedir}/GL"
+FILES:libgl-imx = "${libdir}/libGL${REALSOLIBS}"
+FILES:libgl-imx-dev = "${libdir}/libGL${SOLIBSDEV} ${includedir}/GL"
 
 # libEGL needs to open libGLESv1.so
-INSANE_SKIP_libgles1-imx += "dev-so"
-FILES_libgles1-imx = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}"
-FILES_libgles1-imx-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
-RPROVIDES_libgles1-imx = "libgles-imx"
-RPROVIDES_libgles1-imx-dev = "libgles-imx-dev"
+INSANE_SKIP:libgles1-imx += "dev-so"
+FILES:libgles1-imx = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}"
+FILES:libgles1-imx-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
+RPROVIDES:libgles1-imx = "libgles-imx"
+RPROVIDES:libgles1-imx-dev = "libgles-imx-dev"
 
 # libEGL needs to open libGLESv2.so
-INSANE_SKIP_libgles2-imx += "dev-so"
-FILES_libgles2-imx = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
-FILES_libgles2-imx-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
-RDEPENDS_libgles2-imx = "libglslc-imx"
+INSANE_SKIP:libgles2-imx += "dev-so"
+FILES:libgles2-imx = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
+FILES:libgles2-imx-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
+RDEPENDS:libgles2-imx = "libglslc-imx"
 
-FILES_libgles3-imx-dev = "${includedir}/GLES3"
+FILES:libgles3-imx-dev = "${includedir}/GLES3"
 # as long as there is no libgles3: ship libgles3-dev along with
 # libgles2-dev - otherwise GLES3 headers have to be added manually
-RDEPENDS_libgles2-imx-dev += "libgles3-imx-dev"
+RDEPENDS:libgles2-imx-dev += "libgles3-imx-dev"
 
-FILES_libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
-FILES_libglslc-imx-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
+FILES:libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
+FILES:libglslc-imx-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
 
-FILES_libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
+FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
                        ${libdir}/libVivanteOpenCL${SOLIBS} \
                        ${libdir}/libLLVM_viv${SOLIBS} \
                        ${sysconfdir}/OpenCL/vendors/Vivante.icd"
-FILES_libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
-RDEPENDS_libopencl-imx= "libclc-imx"
+FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
+RDEPENDS:libopencl-imx= "libclc-imx"
 
-FILES_libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS}"
-FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
+FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS}"
+FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
 
-FILES_libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
-FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
+FILES:libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
+FILES:libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
 
-FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
-RDEPENDS_libvivante-dri-imx = "libdrm"
+FILES:libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
+RDEPENDS:libvivante-dri-imx = "libdrm"
 
-INSANE_SKIP_libwayland-viv-imx += "dev-so"
-FILES_libwayland-viv-imx =  "${libdir}/libwayland-viv${REALSOLIBS}  ${libdir}/libwayland-viv${SOLIBS}"
-FILES_libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
-RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imx-vivante', '', d)}"
+INSANE_SKIP:libwayland-viv-imx += "dev-so"
+FILES:libwayland-viv-imx =  "${libdir}/libwayland-viv${REALSOLIBS}  ${libdir}/libwayland-viv${SOLIBS}"
+FILES:libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
+RPROVIDES:libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imx-vivante', '', d)}"
 
-INSANE_SKIP_libgc-wayland-protocol-imx += "dev-so"
-FILES_libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
-FILES_libgc-wayland-protocol-imx-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
+INSANE_SKIP:libgc-wayland-protocol-imx += "dev-so"
+FILES:libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
+FILES:libgc-wayland-protocol-imx-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
 
-FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
+FILES:imx-gpu-viv-tools = "${bindir}/gmem_info"
 
-FILES_imx-gpu-viv-demos = "/opt"
-INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps"
+FILES:imx-gpu-viv-demos = "/opt"
+INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps"
 
-FILES_libnn-imx = "${libdir}/libNN*${SOLIBS} ${libdir}/libnn*${SOLIBS} ${libdir}/libneuralnetworks${SOLIBS}"
-FILES_libnn-imx-dev = "${includedir}/nnrt"
+FILES:libnn-imx = "${libdir}/libNN*${SOLIBS} ${libdir}/libnn*${SOLIBS} ${libdir}/libneuralnetworks${SOLIBS}"
+FILES:libnn-imx-dev = "${includedir}/nnrt"
 
 # COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)"
 
 # Append EGL_CFLAGS to CFLAGS
-CFLAGS_append_imxgpu = " \
+CFLAGS:append:imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_API_FB', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-DWL_EGL_PLATFORM', '', d)} \
 "
 
 # what vivante driver does libsdl2 mean? Anyway it fails with missing functions as
 # VIVANTE_Create VIVANTE_GLES_GetProcAddress VIVANTE_GLES_UnloadLibrary ...
-EXTRA_OECONF_append_imxgpu2d = " --disable-video-vivante"
+EXTRA_OECONF:append:imxgpu2d = " --disable-video-vivante"
 
-CFLAGS_append_imxgpu = " -DLINUX \
+CFLAGS:append:imxgpu = " -DLINUX \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_API_FB', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-DWL_EGL_PLATFORM', '', d)} \
 "
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append_imxgpu = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
+SRC_URI:append:imxgpu = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
                     file://fix-clear-build-break.patch \
                     file://Add-OpenVG-demos-to-support-wayland.patch"
 
 PACKAGECONFIG_REMOVE_IF_2D_ONLY          = ""
-PACKAGECONFIG_REMOVE_IF_2D_ONLY_imxgpu2d = "gles1 gles2"
-PACKAGECONFIG_REMOVE_IF_2D_ONLY_imxgpu3d = ""
+PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu2d = "gles1 gles2"
+PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu3d = ""
 PACKAGECONFIG_REMOVE_IF_GPU              = ""
-PACKAGECONFIG_REMOVE_IF_GPU_imxgpu       = " \
+PACKAGECONFIG_REMOVE_IF_GPU:imxgpu       = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'glu x11', '', d)} \
 "
-PACKAGECONFIG_remove = " \
+PACKAGECONFIG:remove = " \
     ${PACKAGECONFIG_REMOVE_IF_2D_ONLY} \
     ${PACKAGECONFIG_REMOVE_IF_GPU} \
 "
 
 PACKAGECONFIG_APPEND_IF_GPU        = ""
-PACKAGECONFIG_APPEND_IF_GPU_imxgpu = " \
+PACKAGECONFIG_APPEND_IF_GPU:imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland vg', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES',     'x11',       'glut', '', d)} \
 "
-PACKAGECONFIG_append = " \
+PACKAGECONFIG:append = " \
     ${PACKAGECONFIG_APPEND_IF_GPU} \
 "
 
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
 
-do_install_use-mainline-bsp() {
+do_install:use-mainline-bsp() {
     # MESA global envirronment variables
 
     # systemd
     fi
 }
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
-COMPATIBLE_MACHINE_imxgpu = "(-)"
+COMPATIBLE_MACHINE:imxgpu = "(-)"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append_use-mainline-bsp = " \
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+SRC_URI:append:use-mainline-bsp = " \
     file://0001-dri-add-createImageWithModifiers2-interface.patch \
     file://0002-dri-add-loader_dri_create_image-helper.patch \
     file://0003-loader-dri3-convert-to-loader_dri_create_image.patch \
     file://0009-etnaviv-flush-used-render-buffers-on-context-flush-w.patch \
 "
 
-PROVIDES_remove_imxgpu   = "virtual/egl"
-PROVIDES_remove_imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
+PROVIDES:remove:imxgpu   = "virtual/egl"
+PROVIDES:remove:imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
 
-PACKAGECONFIG_remove_imxgpu   = "egl gbm"
-PACKAGECONFIG_remove_imxgpu3d = "gles"
+PACKAGECONFIG:remove:imxgpu   = "egl gbm"
+PACKAGECONFIG:remove:imxgpu3d = "gles"
 
 # FIXME: mesa should support 'x11-no-tls' option
 python () {
 }
 
 # Enable Etnaviv and Freedreno support
-PACKAGECONFIG_append_use-mainline-bsp = " gallium etnaviv kmsro freedreno"
+PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno"
 
 # For NXP BSP, GPU drivers don't support dri
-PACKAGECONFIG_remove_imxgpu_use-nxp-bsp = "dri"
+PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
 
 # mainline/etnaviv:
-RRECOMMENDS_${PN}-megadriver_append_use-mainline-bsp = " libdrm-etnaviv mesa-etnaviv-env"
+RRECOMMENDS:${PN}-megadriver:append:use-mainline-bsp = " libdrm-etnaviv mesa-etnaviv-env"
 
 BACKEND = \
     "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
                                                              'fb', d), d)}"
 
 # FIXME: Dirty hack to allow use of Vivante GPU libGL binary
-do_install_append_imxgpu3d () {
+do_install:append:imxgpu3d () {
     rm -f ${D}${libdir}/libGL.* \
           ${D}${includedir}/GL/gl.h \
           ${D}${includedir}/GL/glcorearb.h \
     fi
 }
 
-do_install_append_imxgpu () {
+do_install:append:imxgpu () {
     rm -rf ${D}${includedir}/KHR
 }
 
 # The i.MX implementation is dynamically loaded, so it requires an
 # explicit runtime dependency.
-RRECOMMENDS_${PN}_append_imxgpu = " libvulkan-imx"
+RRECOMMENDS:${PN}:append:imxgpu = " libvulkan-imx"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 SRC_URI += " \
     file://0001-meson-Add-missing-wayland-dependency-on-EGL.patch \
 "
 
 PACKAGECONFIG_IMXGPU_X11          = ""
-PACKAGECONFIG_IMXGPU_X11_imxgpu3d = "x11-egl glx"
+PACKAGECONFIG_IMXGPU_X11:imxgpu3d = "x11-egl glx"
 PACKAGECONFIG_IMXGPU_GBM          = "gbm"
-PACKAGECONFIG_IMXGPU_GBM_mx6      = ""
-PACKAGECONFIG_IMXGPU_GBM_mx7      = ""
-PACKAGECONFIG_imxgpu = " \
+PACKAGECONFIG_IMXGPU_GBM:mx6      = ""
+PACKAGECONFIG_IMXGPU_GBM:mx7      = ""
+PACKAGECONFIG:imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland',                     'wayland', \
        bb.utils.contains('DISTRO_FEATURES',     'x11', '${PACKAGECONFIG_IMXGPU_X11}', \
                                                                                   '', d), d)} \
 
 inherit autotools pkgconfig
 
 PACKAGES = "${PN}"
-FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
+FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 # OpenGL is not required for parts with GPU support for 2D but not 3D
 IMX_REQUIRED_DISTRO_FEATURES_REMOVE          = ""
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl"
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = ""
-REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu2d = "opengl"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE:imxgpu3d = ""
+REQUIRED_DISTRO_FEATURES:remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
 
-SRC_URI_append_mx6sl = " file://weston.config"
+SRC_URI:append:mx6sl = " file://weston.config"
 
 # To customize weston.ini, start by setting the desired assignment in weston.ini,
 # commented out. For example:
 #     #xwayland=true
 # Then add the assignment to INI_UNCOMMENT_ASSIGNMENTS.
-INI_UNCOMMENT_ASSIGNMENTS_append_imx = " \
+INI_UNCOMMENT_ASSIGNMENTS:append_imx = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland=true', '', d)} \
 "
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8 = " \
+INI_UNCOMMENT_ASSIGNMENTS:append:mx8 = " \
     repaint-window=16 \
 "
-INI_UNCOMMENT_ASSIGNMENTS_append_mx8mq = " \
+INI_UNCOMMENT_ASSIGNMENTS:append:mx8mq = " \
     gbm-format=argb8888 \
     \\[shell\\] \
     size=1920x1080 \
 # FIXME: The 8QM and 8QXP SoCs have better performance without G2D so don't enable it
 # Ideally, this should be seamless and Vivante ought to handle it internally and take the fastest
 # rendering code.
-INI_UNCOMMENT_USE_G2D_imxgpu2d ?= "use-g2d=1"
-INI_UNCOMMENT_USE_G2D_mx8qm = ""
-INI_UNCOMMENT_USE_G2D_mx8qxp = ""
-INI_UNCOMMENT_ASSIGNMENTS_append_imxgpu2d = " \
+INI_UNCOMMENT_USE_G2D:imxgpu2d ?= "use-g2d=1"
+INI_UNCOMMENT_USE_G2D:mx8qm = ""
+INI_UNCOMMENT_USE_G2D:mx8qxp = ""
+INI_UNCOMMENT_ASSIGNMENTS:append:imxgpu2d = " \
     ${INI_UNCOMMENT_USE_G2D} \
 "
 
     sed -i -e 's,^#'"$1"','"$1"',g' $2
 }
 
-do_install_append() {
+do_install:append() {
     if [ -f "${WORKDIR}/weston.config" ]; then
         install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston
     fi
 
            file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
 "
 
-SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch "
+SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
 
 SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
 
 # JPEG image loading support
 PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
 
-do_install_append() {
+do_install:append() {
        # Weston doesn't need the .la files to load modules, so wipe them
        rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
 
 PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
              libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
 
-FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
-FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
+FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
+FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
 
-FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
-SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
+FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
+SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
 
-FILES_${PN}-examples = "${bindir}/*"
+FILES:${PN}-examples = "${bindir}/*"
 
-FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
-RDEPENDS_${PN}-xwayland += "xwayland"
+FILES:${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
+RDEPENDS:${PN}-xwayland += "xwayland"
 
-RDEPENDS_${PN} += "xkeyboard-config"
-RRECOMMENDS_${PN} = "weston-init liberation-fonts"
-RRECOMMENDS_${PN}-dev += "wayland-protocols"
+RDEPENDS:${PN} += "xkeyboard-config"
+RRECOMMENDS:${PN} = "weston-init liberation-fonts"
+RRECOMMENDS:${PN}-dev += "wayland-protocols"
 
 USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
+GROUPADD_PARAM:${PN} = "--system weston-launch"
 
 ########### End of OE-core copy ###########
 
 
 # Disable OpenGL for parts with GPU support for 2D but not 3D
 REQUIRED_DISTRO_FEATURES          = "opengl"
-REQUIRED_DISTRO_FEATURES_imxgpu2d = ""
-REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl"
+REQUIRED_DISTRO_FEATURES:imxgpu2d = ""
+REQUIRED_DISTRO_FEATURES:imxgpu3d = "opengl"
 PACKAGECONFIG_OPENGL              = "opengl"
-PACKAGECONFIG_OPENGL_imxgpu2d     = ""
-PACKAGECONFIG_OPENGL_imxgpu3d     = "opengl"
+PACKAGECONFIG_OPENGL:imxgpu2d     = ""
+PACKAGECONFIG_OPENGL:imxgpu3d     = "opengl"
 
-PACKAGECONFIG_remove = "wayland x11"
-PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}"
+PACKAGECONFIG:remove = "wayland x11"
+PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}"
 
-PACKAGECONFIG_remove_imxfbdev = "kms"
-PACKAGECONFIG_append_imxfbdev = " fbdev clients"
-PACKAGECONFIG_append_imxgpu   = " imxgpu"
-PACKAGECONFIG_append_imxgpu2d = " imxg2d"
+PACKAGECONFIG:remove:imxfbdev = "kms"
+PACKAGECONFIG:append:imxfbdev = " fbdev clients"
+PACKAGECONFIG:append:imxgpu   = " imxgpu"
+PACKAGECONFIG:append:imxgpu2d = " imxg2d"
 
 # Clients support
 SIMPLE_CLIENTS = "all"
-SIMPLE_CLIENTS_imxfbdev = "damage,im,egl,shm,touch,dmabuf-v4l"
+SIMPLE_CLIENTS:imxfbdev = "damage,im,egl,shm,touch,dmabuf-v4l"
 PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcursor"
 PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLE_CLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
 # Weston with i.MX GPU support
 
 # Append path for freescale layer to include bsp pointercal.xinput
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 
 PACKAGES =+ "xserver-xorg-extension-viv-autohdmi"
 
-do_install_append () {
+do_install:append () {
     install -d ${D}${includedir}
     cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir}
     cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir}
     find ${D}${includedir} -type f -exec chmod 660 {} \;
 }
 
-RDEPENDS_${PN} += "libvivante-dri-imx \
+RDEPENDS:${PN} += "libvivante-dri-imx \
                    xserver-xorg-module-exa \
                    mesa-driver-swrast \
                    xserver-xorg-extension-dri \
 REALSOLIBS := "${SOLIBS}"
 SOLIBS = "${SOLIBSDEV}"
 
-FILES_${PN} = "${libdir}/*/*/*/vivante_drv${SOLIBS}"
-FILES_${PN}-dev = "${includedir} /usr/src ${libdir}/libfsl_x11_ext${SOLIBSDEV}"
-FILES_${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/.debug/autohdmi"
+FILES:${PN} = "${libdir}/*/*/*/vivante_drv${SOLIBS}"
+FILES:${PN}-dev = "${includedir} /usr/src ${libdir}/libfsl_x11_ext${SOLIBSDEV}"
+FILES:${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/.debug/autohdmi"
 
-FILES_xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
+FILES:xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
 COMPATIBLE_MACHINE = "(mx6|mx7ulp)"
 
 # Append path for freescale layer to include bsp xorg.conf 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
 
-SRC_URI_append_use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch"
-SRC_URI_append_imxgpu = " \
+SRC_URI:append:use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch"
+SRC_URI:append:imxgpu = " \
     file://0003-Remove-check-for-useSIGIO-option.patch \
     file://0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch \
     file://0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch \
 "
 
 IMX_OPENGL_PKGCONFIGS_REMOVE        = ""
-IMX_OPENGL_PKGCONFIGS_REMOVE_imxgpu = "glamor"
-OPENGL_PKGCONFIGS_remove_mx6        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
-OPENGL_PKGCONFIGS_remove_mx7        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
-OPENGL_PKGCONFIGS_remove_imxdrm     = "dri glx"
+IMX_OPENGL_PKGCONFIGS_REMOVE:imxgpu = "glamor"
+OPENGL_PKGCONFIGS:remove:mx6        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+OPENGL_PKGCONFIGS:remove:mx7        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+OPENGL_PKGCONFIGS:remove_imxdrm     = "dri glx"
 
 IMX_OPENGL_PKGCONFIGS_REMOVE        = ""
-IMX_OPENGL_PKGCONFIGS_REMOVE_imxgpu = "glamor"
-OPENGL_PKGCONFIGS_remove_mx6        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
-OPENGL_PKGCONFIGS_remove_mx7        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+IMX_OPENGL_PKGCONFIGS_REMOVE:imxgpu = "glamor"
+OPENGL_PKGCONFIGS:remove:mx6        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
+OPENGL_PKGCONFIGS:remove:mx7        = "${IMX_OPENGL_PKGCONFIGS_REMOVE}"
 
 
 SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/ceetm;nobranch=1"
 SRCREV = "6a7f2ec2091df2f4380cb8d25a36c399aed5af1b"
-SRC_URI_append = " file://0001-Makefile-update-CFLAGS.patch \
+SRC_URI:append = " file://0001-Makefile-update-CFLAGS.patch \
     file://0001-use-new-api-tc_print_rate.patch \
 "
 DEPENDS = "iproute2"
     cp ${S}/q_ceetm.so ${D}/${libdir}/tc/
 }
 
-FILES_${PN} += "${libdir}/tc"
+FILES:${PN} += "${libdir}/tc"
 INHIBIT_PACKAGE_STRIP = "1"
 
 COMPATIBLE_MACHINE = "(qoriq)"
 
 
 INHIBIT_PACKAGE_STRIP = "1"
 
-do_compile_prepend() {
+do_compile:prepend() {
     sed -i -e 's,EXTRA_CFLAGS += -I$(PWD),EXTRA_CFLAGS += -I${S},' ${S}/armodule/source/Makefile
 }
 
        cp -f ${S}/bin/ar_* ${D}${bindir}/ 
 }
 
-FILES_${PN} += "${bindir}/"
-INSANE_SKIP_${PN} = "ldflags"
+FILES:${PN} += "${bindir}/"
+INSANE_SKIP:${PN} = "ldflags"
 COMPATIBLE_MACHINE = "(t1040|t1042)"
 
 CLEANBROKEN = "1"
 
     install -m 755 ${S}/kernel/*.ko ${D}/usr/driver/IPC/multi_rat
 }
 
-FILES_${PN} += "/usr/driver/IPC/multi_rat/*.ko"
-FILES_${PN}-dbg += "/usr/driver/IPC/multi_rat/.debug"
+FILES:${PN} += "/usr/driver/IPC/multi_rat/*.ko"
+FILES:${PN}-dbg += "/usr/driver/IPC/multi_rat/.debug"
 
 COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
 
     install -m 755 ${S}/kernel/*.ko ${D}/usr/driver/IPC/single_rat
 }
 
-FILES_${PN} += "/usr/driver/IPC/single_rat/*.ko"
-FILES_${PN}-dbg += "/usr/driver/IPC/single_rat/.debug"
+FILES:${PN} += "/usr/driver/IPC/single_rat/*.ko"
+FILES:${PN}-dbg += "/usr/driver/IPC/single_rat/.debug"
 
 COMPATIBLE_MACHINE = "(b4860qds|b4420qds)"
 
 S = "${WORKDIR}/git"
 
 do_configure[depends] += "virtual/kernel:do_shared_workdir"
-do_compile_prepend () {
+do_compile:prepend () {
     cd ${S}/kernel
 }
 
 
     CONFIG_WLAN_FEATURE_DSRC=y \
 "
 
-RDEPENDS_${PN} += "firmware-qca6174"
+RDEPENDS:${PN} += "firmware-qca6174"
 
     SAP_AUTH_OFFLOAD=1 \
 "
 
-RDEPENDS_${PN} += "firmware-qca9377"
+RDEPENDS:${PN} += "firmware-qca9377"
 
 "
 
 COMPATIBLE_MACHINE = "(imx)"
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
 
 that produces a Manufacturing Tool compatible Linux Kernel to be used in updater \
 environment"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-fslc:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-fslc:"
 require linux-fslc-lts_${PV}.bb
 require linux-mfgtool.inc
 
 
 that produces a Manufacturing Tool compatible Linux Kernel to be used in updater \
 environment"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-fslc:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-fslc:"
 require linux-fslc_${PV}.bb
 require linux-mfgtool.inc
 
 
 # Without this setting the RDEPENDS in other recipes fails to find this
 # package, therefore causing the -dev package also to be skipped effectively not
 # populating it into SDK
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS += "unifdef-native bison-native rsync-native"
 # Restrict this recipe to NXP BSP only, this recipe is not compatible
 # with mainline BSP
 COMPATIBLE_HOST = '(null)'
-COMPATIBLE_HOST_use-nxp-bsp = '.*'
+COMPATIBLE_HOST:use-nxp-bsp = '.*'
 
 DESCRIPTION = "Linux Kernel provided and supported by Freescale that produces a \
 Manufacturing Tool compatible Linux Kernel to be used in updater environment"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-imx:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-imx:"
 require linux-imx_${PV}.bb
 require linux-mfgtool.inc
 
 
 
 S = "${WORKDIR}/git"
 
-DEPENDS_append = " libgcc"
+DEPENDS:append = " libgcc"
 # not put Images into /boot of rootfs, install kernel-image if needed
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
 
-KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}"
-KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_CC:append = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD:append = " ${TOOLCHAIN_OPTIONS}"
 KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
 
 ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
 SCMVERSION ?= "y"
 LOCALVERSION = ""
 DELTA_KERNEL_DEFCONFIG ?= ""
-DELTA_KERNEL_DEFCONFIG_prepend_qoriq-arm64 = "lsdk.config "
-DELTA_KERNEL_DEFCONFIG_prepend_fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config "
-DELTA_KERNEL_DEFCONFIG_prepend_ls102xa = "multi_v7_lpae.config lsdk.config "
+DELTA_KERNEL_DEFCONFIG:prepend:qoriq-arm64 = "lsdk.config "
+DELTA_KERNEL_DEFCONFIG:prepend:fsl-lsch2-32b = "multi_v7_lpae.config multi_v8.config lsdk.config "
+DELTA_KERNEL_DEFCONFIG:prepend:ls102xa = "multi_v7_lpae.config lsdk.config "
 
 do_merge_delta_config[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot bison-native:do_populate_sysroot"
 do_merge_delta_config[dirs] = "${B}"
 addtask merge_delta_config before do_kernel_localversion after do_patch
 
 # The link of dts folder is needed for 32b compile of aarch64 targets(e.g. ls1043ardb-32b)
-do_compile_prepend_fsl-lsch2-32b() {
+do_compile:prepend:fsl-lsch2-32b() {
     ln -sfT ${STAGING_KERNEL_DIR}/arch/arm64/boot/dts/freescale ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale
 }
 
-do_install_prepend_fsl-lsch2-32b() {
+do_install:prepend:fsl-lsch2-32b() {
     rm -f ${STAGING_KERNEL_DIR}/arch/arm/boot/dts/freescale
 }
 
-FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*"
+FILES:${KERNEL_PACKAGE_NAME}-image += "/boot/zImage*"
 COMPATIBLE_MACHINE = "(qoriq)"
 
 
 EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
 
-FILES_${PN} += "/etc/skmm/ /usr/bin/"
+FILES:${PN} += "/etc/skmm/ /usr/bin/"
 
 COMPATIBLE_MACHINE = "(p4080ds|t4240qds)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
 IMX_PATCH = " \
     file://0001-add-conf-for-multichannel-support-in-imx.patch \
     file://0005-add-ak4458-conf-for-multichannel-support.patch \
     file://0006-add-conf-for-iMX-XCVR-sound-card.patch \
 "
-SRC_URI_append_imx = "${IMX_PATCH}"
+SRC_URI:append_imx = "${IMX_PATCH}"
 
 PACKAGE_ARCH_imx = "${MACHINE_SOCARCH}"
 
 
 # For backwards compatibility
 PROVIDES += "fsl-alsa-plugins"
-RREPLACES_${PN} = "fsl-alsa-plugins"
-RPROVIDES_${PN} = "fsl-alsa-plugins"
-RCONFLICTS_${PN} = "fsl-alsa-plugins"
+RREPLACES:${PN} = "fsl-alsa-plugins"
+RPROVIDES:${PN} = "fsl-alsa-plugins"
+RCONFLICTS:${PN} = "fsl-alsa-plugins"
 
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 
 EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
 
-INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
 
-FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so"
-FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
-FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
+FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so"
+FILES:${PN}-dbg += "${libdir}/alsa-lib/.debug"
+FILES:${PN}-dev += "${libdir}/alsa-lib/*.la"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
   --cross-prefix='${HOST_PREFIX}'"
 
 # Disable assembly optimizations for X32, as this libav lacks the support
-PACKAGECONFIG_remove_linux-gnux32 = "yasm"
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm"
+PACKAGECONFIG:remove:linux-gnux32 = "yasm"
+LIBAV_EXTRA_CONFIGURE_COMMON_ARG:append:linux-gnux32 = " --disable-asm"
 
 LIBAV_EXTRA_CONFIGURE_COMMON = \
 '${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"'
 
 EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}"
 
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
 
 # http://errors.yoctoproject.org/Errors/Details/20493/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
 # ffmpeg/libav disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${PN} = "textrel"
+INSANE_SKIP:${PN} = "textrel"
 
 require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
 
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
-DEPENDS_append_mx8 = " libdrm"
+DEPENDS:append:imxgpu2d = " virtual/libg2d"
+DEPENDS:append:mx8 = " libdrm"
 
-PACKAGECONFIG_append_mx8 = " kms"
+PACKAGECONFIG:append:mx8 = " kms"
 
 DEFAULT_PREFERENCE = "-1"
 
-PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}"
 
 GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 inherit gobject-introspection
 
 PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
-PACKAGECONFIG_GL_imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
+PACKAGECONFIG_GL:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
 
 export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
-FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
 # include fragment shaders
-FILES_${PN}-opengl += "/usr/share/*.fs"
+FILES:${PN}-opengl += "/usr/share/*.fs"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
-PACKAGECONFIG_GL_imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
+PACKAGECONFIG_GL:imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
 
 # For mainline BSP we need to enable 'gbm' Window system
-PACKAGECONFIG_GL_use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
+PACKAGECONFIG_GL:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
 
 S = "${WORKDIR}/git"
 
 DEPENDS += "iso-codes util-linux zlib"
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
+DEPENDS:append:imxgpu2d = " virtual/libg2d"
 
 inherit use-imx-headers gobject-introspection gtk-doc
 
 GTKDOC_MESON_ENABLE_FLAG = "enabled"
 GTKDOC_MESON_DISABLE_FLAG = "disabled"
 
-FILES_${PN} += "${libdir}/gstreamer-1.0/include"
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
+FILES:${PN} += "${libdir}/gstreamer-1.0/include"
+FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
 
-PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
-PACKAGECONFIG_GL_imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
-PACKAGECONFIG_GL_use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
+PACKAGECONFIG_GL:imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
+PACKAGECONFIG_GL:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
 
                     file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
 
 DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
-RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
-RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
+RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
+RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
     -Dwaveform=disabled \
 "
 
-FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
+FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
 # for the uniaudio decoder, videoparsersbad for the VPU video decoder
 # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
 # built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
-RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
-RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
-RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
+RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
+RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
+RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
 
 PV .= "+git${SRCPV}"
 
 EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX}"
 
 PACKAGECONFIG ?= "uniaudiodec"
-PACKAGECONFIG_append_imxgpu2d = " g2d"
-PACKAGECONFIG_append_imxvpu   = " vpu"
-PACKAGECONFIG_append_imxipu   = " ipu"
-PACKAGECONFIG_append_imxpxp   = " pxp"
+PACKAGECONFIG:append:imxgpu2d = " g2d"
+PACKAGECONFIG:append:imxvpu   = " vpu"
+PACKAGECONFIG:append:imxipu   = " ipu"
+PACKAGECONFIG:append:imxpxp   = " pxp"
 # The custom imxv4l2 elements are only available on the i.MX6.
 # The 2D blitter sinks require an MXC framebuffer, which
 # is not available anymore on the i.MX8 (since these SoCs
 # now use KMS instead of the old Linux framebuffer).
-PACKAGECONFIG_append_mx6      = " imx2dvideosink v4l2"
-PACKAGECONFIG_append_mx7      = " imx2dvideosink"
+PACKAGECONFIG:append:mx6      = " imx2dvideosink v4l2"
+PACKAGECONFIG:append:mx7      = " imx2dvideosink"
 
 PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
 PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
 
     -Dsidplay=disabled \
 "
 
-FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
-FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
+FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
+FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
 
 PACKAGES += "${PN}-bash-completion"
 
 # Add the core element plugins to the main package
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb ${datadir}/glib-2.0/gdb"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb ${datadir}/glib-2.0/gdb"
 
 CVE_PRODUCT = "gstreamer"
 
 
 SECTION = "multimedia"
 
 DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-DEPENDS_append_mx6 = " imx-lib"
-DEPENDS_append_mx7 = " imx-lib"
-DEPENDS_append_imxvpu = " imx-vpuwrap libdrm"
+DEPENDS:append:mx6 = " imx-lib"
+DEPENDS:append:mx7 = " imx-lib"
+DEPENDS:append:imxvpu = " imx-vpuwrap libdrm"
 
 # For backwards compatibility
-RREPLACES_${PN} = "gst1.0-fsl-plugin"
-RPROVIDES_${PN} = "gst1.0-fsl-plugin"
-RCONFLICTS_${PN} = "gst1.0-fsl-plugin"
+RREPLACES:${PN} = "gst1.0-fsl-plugin"
+RPROVIDES:${PN} = "gst1.0-fsl-plugin"
+RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
 
 LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
 
 inherit autotools pkgconfig use-imx-headers
 
-PLATFORM_mx6 = "MX6"
-PLATFORM_mx6sl = "MX6SL"
-PLATFORM_mx6sx = "MX6SX"
-PLATFORM_mx6ul = "MX6UL"
-PLATFORM_mx6sll = "MX6SLL"
-PLATFORM_mx7= "MX7D"
-PLATFORM_mx7ulp= "MX7ULP"
-PLATFORM_mx8 = "MX8"
+PLATFORM:mx6 = "MX6"
+PLATFORM:mx6sl = "MX6SL"
+PLATFORM:mx6sx = "MX6SX"
+PLATFORM:mx6ul = "MX6UL"
+PLATFORM:mx6sll = "MX6SLL"
+PLATFORM:mx7= "MX7D"
+PLATFORM:mx7ulp= "MX7ULP"
+PLATFORM:mx8 = "MX8"
 
 # Todo add a mechanism to map possible build targets
 EXTRA_OECONF = "PLATFORM=${PLATFORM} \
 
 # Add codec list that the beep plugin run-time depended
 BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
-RDEPENDS_${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
+RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux "
 
 # overlaysink rely on G2D,
 # cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D
 PACKAGECONFIG ?= ""
-PACKAGECONFIG_imxgpu2d = "overlaysink"
+PACKAGECONFIG:imxgpu2d = "overlaysink"
 
 
 # FIXME: Add all features
 OVDEPENDS = "virtual/libg2d"
 PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}"
 
-FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
-
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-gplay = "${bindir}/gplay-1.0"
-FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
-FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
-FILES_${PN}-grecorder = "${bindir}/grecorder-1.0"
-FILES_${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
-FILES_${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
+FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
+
+FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN}-gplay = "${bindir}/gplay-1.0"
+FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
+FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
+FILES:${PN}-grecorder = "${bindir}/grecorder-1.0"
+FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}"
+FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
                    bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}"
 
 PACKAGECONFIG ?= ""
-PACKAGECONFIG_imxvpu = "vpu"
+PACKAGECONFIG:imxvpu = "vpu"
 
 # We need to ensure we don't have '-src' package overrided
 PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
 
 PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
 
-do_install_append() {
+do_install:append() {
     # LTIB move the files around or gst-fsl-plugin won't find them
     for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
             mv $p ${D}${libdir}
     for p in d.getVar('PACKAGES').split():
         # Even though we are packaging libraries those are plugins so we
         # shouldn't rename the packages to follow its sonames.
-        d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")
+        d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1")
 
         # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
         # the source we cannot fix it. Disable the insane check for now.
         if p == 'imx-codec-test-bin':
             # FIXME: includes the DUT .so files so we need to deploy those
-            d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir file-rdeps")
+            d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir file-rdeps")
         else:
-            d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel")
+            d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel")
 }
 
 do_package_qa[prefuncs] += "__set_insane_skip"
     for pkg in pkgs:
         meta = pkg[10:]
         if meta != '':
-            d.setVar('RREPLACES_%s' % pkg, ' libfslcodec-%s' % meta)
-            d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec-%s' % meta)
-            d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec-%s' % meta)
+            d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta)
+            d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta)
+            d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta)
         else :
-            d.setVar('RREPLACES_%s' % pkg, ' libfslcodec')
-            d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec')
-            d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec')
+            d.setVar('RREPLACES:%s' % pkg, ' libfslcodec')
+            d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec')
+            d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec')
 }
 
 python __set_metapkg_rdepends() {
     codec_pkgs = oe.utils.packages_filter_out_system(d)
     codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'],
                         codec_pkgs)
-    d.appendVar('RDEPENDS_imx-codec-meta', ' ' + ' '.join(codec_pkgs))
+    d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs))
 }
 
 PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
 
 PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
 
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-meta = "1"
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-meta = "1"
 
 # Ensure we get warnings if we miss something
-FILES_${PN} = ""
+FILES:${PN} = ""
 
-FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
+FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
                     ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
                     ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
 
-FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
+FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
 
-FILES_${PN}-test-source += "${datadir}/imx-mm/*"
+FILES:${PN}-test-source += "${datadir}/imx-mm/*"
 
 # FIXME: The wrap and lib names does not match
-FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
-FILES_${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
-FILES_${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
+FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
+FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
+FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
 INHIBIT_SYSROOT_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"
 
-FILES_${PN} += "/unit_tests ${datadir}/imx-mm"
+FILES:${PN} += "/unit_tests ${datadir}/imx-mm"
 
 COMPATIBLE_MACHINE = "(mx8)"
 
 
 # For backwards compatibility
 PROVIDES += "libfslparser"
-RREPLACES_${PN} = "libfslparser"
-RPROVIDES_${PN} = "libfslparser"
-RCONFLICTS_${PN} = "libfslparser"
+RREPLACES:${PN} = "libfslparser"
+RPROVIDES:${PN} = "libfslparser"
+RCONFLICTS:${PN} = "libfslparser"
 
 SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
 SRC_URI[md5sum] = "dd34e4e2d1384af27d370964ebbd05fd"
     # the source we cannot fix it. Disable the insane check for now.
     # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
     for p in d.getVar('PACKAGES').split():
-        d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel")
+        d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel")
 }
 
 do_package_qa[prefuncs] += "__set_insane_skip"
 
 # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
-FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
+FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
 
 INHIBIT_SYSROOT_STRIP = "1"
 
 
 
 inherit fsl-eula-unpack autotools pkgconfig
 
-INSANE_SKIP_${PN} = "already-stripped"
+INSANE_SKIP:${PN} = "already-stripped"
 
-FILES_${PN} += "${datadir}/imx-mm"
+FILES:${PN} += "${datadir}/imx-mm"
 
 COMPATIBLE_MACHINE = "(mx8)"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
 
 DEPENDS = "virtual/imxvpu"
-DEPENDS_append_mx8mp = " imx-vpu-hantro-vc"
+DEPENDS:append:mx8mp = " imx-vpu-hantro-vc"
 
 SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}"
 
 
 inherit autotools pkgconfig
 
-do_install_append() {
+do_install:append() {
     # FIXME: Drop examples for now
     rm -r ${D}${datadir}
 }
 
 
 inherit waf pkgconfig use-imx-headers
 
-IMX_PLATFORM_mx6 = "imx6"
-IMX_PLATFORM_mx8mq = "imx8m"
-IMX_PLATFORM_mx8mm = "imx8mm"
-IMX_PLATFORM_mx8mp = "imx8mm"
+IMX_PLATFORM:mx6 = "imx6"
+IMX_PLATFORM:mx8mq = "imx8m"
+IMX_PLATFORM:mx8mm = "imx8mm"
+IMX_PLATFORM:mx8mp = "imx8mm"
 
 EXTRA_OECONF = "--imx-platform=${IMX_PLATFORM} --libdir=${libdir} --imx-headers=${STAGING_INCDIR_IMX} --sysroot-path=${RECIPE_SYSROOT}"
 
 
 
-CACHED_CONFIGUREVARS_append_mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no"
+CACHED_CONFIGUREVARS:append:mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/imx:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx:"
 
-SRC_URI_append_mx6 = " file://daemon.conf file://default.pa"
-SRC_URI_append_mx7 = " file://daemon.conf file://default.pa \
+SRC_URI:append:mx6 = " file://daemon.conf file://default.pa"
+SRC_URI:append:mx7 = " file://daemon.conf file://default.pa \
                        file://pulseaudio-remove-the-control-for-speaker-headphone-widge.patch \
 "
-SRC_URI_append_mx8 = " file://daemon.conf file://default.pa"
+SRC_URI:append:mx8 = " file://daemon.conf file://default.pa"
 
-do_install_append() {
+do_install:append() {
     if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then
         install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf
         install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa
     fi
 }
 
-PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx7 = "${MACHINE_SOCARCH}"
-PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx6 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx7 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}"
 
 
 inherit python3native systemd
 
-SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
+SYSTEMD_SERVICE:${PN} = "tee-supplicant.service"
 
 OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
 
 EXTRA_OEMAKE = "ARCH=${OPTEE_ARCH} O=${B}"
 
 }
 
 PACKAGES += "tee-supplicant"
-FILES_${PN} += "${libdir}/* ${includedir}/*"
-FILES_tee-supplicant += "${bindir}/tee-supplicant"
+FILES:${PN} += "${libdir}/* ${includedir}/*"
+FILES:tee-supplicant += "${bindir}/tee-supplicant"
 
-INSANE_SKIP_${PN} = "ldflags dev-elf"
-INSANE_SKIP_${PN}-dev = "ldflags dev-elf"
-INSANE_SKIP_tee-supplicant = "ldflags"
+INSANE_SKIP:${PN} = "ldflags dev-elf"
+INSANE_SKIP:${PN}-dev = "ldflags dev-elf"
+INSANE_SKIP:tee-supplicant = "ldflags"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
 
 # The platform flavor corresponds to the Yocto machine without the leading 'i'.
 PLATFORM_FLAVOR                   = "${@d.getVar('MACHINE')[1:]}"
-PLATFORM_FLAVOR_imx6qpdlsolox     = "mx6qsabresd"
-PLATFORM_FLAVOR_imx6ul7d          = "mx6ulevk"
-PLATFORM_FLAVOR_imx6ull14x14evk   = "mx6ullevk"
-PLATFORM_FLAVOR_imx6ull9x9evk     = "mx6ullevk"
-PLATFORM_FLAVOR_imx6ulz-14x14-evk = "mx6ulzevk"
-PLATFORM_FLAVOR_mx8mq             = "mx8mqevk"
-PLATFORM_FLAVOR_mx8mm             = "mx8mmevk"
-PLATFORM_FLAVOR_mx8mn             = "mx8mnevk"
-PLATFORM_FLAVOR_mx8mp             = "mx8mpevk"
-PLATFORM_FLAVOR_mx8qm             = "mx8qmmek"
-PLATFORM_FLAVOR_mx8qxp            = "mx8qxpmek"
-PLATFORM_FLAVOR_mx8dx             = "mx8dxmek"
-PLATFORM_FLAVOR_mx8dxl            = "mx8dxlevk"
+PLATFORM_FLAVOR:imx6qpdlsolox     = "mx6qsabresd"
+PLATFORM_FLAVOR:imx6ul7d          = "mx6ulevk"
+PLATFORM_FLAVOR:imx6ull14x14evk   = "mx6ullevk"
+PLATFORM_FLAVOR:imx6ull9x9evk     = "mx6ullevk"
+PLATFORM_FLAVOR:imx6ulz-14x14-evk = "mx6ulzevk"
+PLATFORM_FLAVOR:mx8mq             = "mx8mqevk"
+PLATFORM_FLAVOR:mx8mm             = "mx8mmevk"
+PLATFORM_FLAVOR:mx8mn             = "mx8mnevk"
+PLATFORM_FLAVOR:mx8mp             = "mx8mpevk"
+PLATFORM_FLAVOR:mx8qm             = "mx8qmmek"
+PLATFORM_FLAVOR:mx8qxp            = "mx8qxpmek"
+PLATFORM_FLAVOR:mx8dx             = "mx8dxmek"
+PLATFORM_FLAVOR:mx8dxl            = "mx8dxlevk"
 
 OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
 
 # Optee-os can be built for 32 bits and 64 bits at the same time
 # as long as the compilers are correctly defined.
 addtask deploy after do_compile before do_install
 
 
-FILES_${PN} = "${nonarch_base_libdir}/firmware/"
-FILES_${PN}-staticdev = "/usr/include/optee/"
-RDEPENDS_${PN}-dev += "${PN}-staticdev"
+FILES:${PN} = "${nonarch_base_libdir}/firmware/"
+FILES:${PN}-staticdev = "/usr/include/optee/"
+RDEPENDS:${PN}-dev += "${PN}-staticdev"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "(imx|imx-boot-container)"
 
 inherit python3native
 
 OPTEE_ARCH ?= "arm32"
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
 
-TA_DEV_KIT_DIR_arm = "${STAGING_INCDIR}/optee/export-user_ta_arm32/"
-TA_DEV_KIT_DIR_aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64/"
+TA_DEV_KIT_DIR:arm = "${STAGING_INCDIR}/optee/export-user_ta:arm32/"
+TA_DEV_KIT_DIR:aarch64 = "${STAGING_INCDIR}/optee/export-user_ta:arm64/"
 
 CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
 CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}"
        done
 }
 
-FILES_${PN} = "/usr/bin/ /lib*/optee_armtz/"
+FILES:${PN} = "/usr/bin/ /lib*/optee_armtz/"
 
 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
 
 S = "${WORKDIR}/git"
 
 OPTEEMACHINE ?= "${MACHINE}"
-OPTEEMACHINE_ls1088ardb-pb = "ls1088ardb"
-OPTEEMACHINE_ls1046afrwy = "ls1046ardb"
-OPTEEMACHINE_lx2162aqds = "lx2160aqds"
+OPTEEMACHINE:ls1088ardb-pb = "ls1088ardb"
+OPTEEMACHINE:ls1046afrwy = "ls1046ardb"
+OPTEEMACHINE:lx2162aqds = "lx2160aqds"
 
 EXTRA_OEMAKE = "PLATFORM=ls-${OPTEEMACHINE} CFG_ARM64_core=y \
                 ARCH=arm \
                 CROSS_COMPILE_core=${HOST_PREFIX} \
-                CROSS_COMPILE_ta_arm64=${HOST_PREFIX} \
+                CROSS_COMPILE_ta:arm64=${HOST_PREFIX} \
                 NOWERROR=1 \
                 LDFLAGS= \
                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
         "
-EXTRA_OEMAKE_append_lx2162aqds = " CFG_EMBED_DTB_SOURCE_FILE=fsl-lx2160a-qds.dts CFG_EMBED_DT=y"
+EXTRA_OEMAKE:append:lx2162aqds = " CFG_EMBED_DTB_SOURCE_FILE=fsl-lx2160a-qds.dts CFG_EMBED_DT=y"
 
-OPTEE_ARCH_armv7a = "arm32"
-OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_ARCH:armv7a = "arm32"
+OPTEE_ARCH:aarch64 = "arm64"
 
 do_compile() {
     unset LDFLAGS
 
 addtask deploy before do_build after do_install
 
-FILES_${PN} = "/lib/firmware/"
-FILES_${PN}-dev = "/usr/include/optee"
+FILES:${PN} = "/lib/firmware/"
+FILES:${PN}-dev = "/usr/include/optee"
 
-INSANE_SKIP_${PN}-dev = "staticdev"
+INSANE_SKIP:${PN}-dev = "staticdev"
 
 INHIBIT_PACKAGE_STRIP = "1"
 COMPATIBLE_MACHINE = "(qoriq-arm64)"
 
     install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}/lib/optee_armtz/
 }
 
-FILES_${PN} += "/lib/optee_armtz/"
+FILES:${PN} += "/lib/optee_armtz/"
 
 # Imports machine specific configs from staging to build
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
            file://0001-Make-ts-module-external.patch \
            file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
            "
-SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
+SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
 S = "${WORKDIR}/git"
 
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
 "
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
+EXTRA_OECMAKE:append:x86 = " -DX86=ON"
 
 PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
     ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
     ${PN}-apps"
 
-python populate_packages_prepend () {
+python populate_packages:prepend () {
     cv_libdir = d.expand('${libdir}')
     do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
     do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
 
     pn = d.getVar('PN')
     metapkg =  pn + '-dev'
-    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    d.setVar('ALLOW_EMPTY:' + metapkg, "1")
     blacklist = [ metapkg ]
     metapkg_rdepends = [ ]
     packages = d.getVar('PACKAGES').split()
     for pkg in packages[1:]:
         if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
             metapkg_rdepends.append(pkg)
-    d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+    d.setVar('RRECOMMENDS:' + metapkg, ' '.join(metapkg_rdepends))
 
     metapkg =  pn
-    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    d.setVar('ALLOW_EMPTY:' + metapkg, "1")
     blacklist = [ metapkg, "libopencv-ts" ]
     metapkg_rdepends = [ ]
     for pkg in packages[1:]:
         if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
             metapkg_rdepends.append(pkg)
-    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+    d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
 }
 
 PACKAGES_DYNAMIC += "^libopencv-.*"
 
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig  ${libdir}/cmake/opencv4/*.cmake"
-FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/opencv4/samples/"
+FILES:${PN} = ""
+FILES:${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig  ${libdir}/cmake/opencv4/*.cmake"
+FILES:${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES:${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES:${PN}-java = "${datadir}/OpenCV/java"
+FILES:${PN}-samples = "${datadir}/opencv4/samples/"
 
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
+INSANE_SKIP:${PN}-java = "libdir"
+INSANE_SKIP:${PN}-dbg = "libdir"
 
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
 
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
+SUMMARY:python-opencv = "Python bindings to opencv"
+FILES:python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python-opencv = "python-core python-numpy"
 
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
+SUMMARY:python3-opencv = "Python bindings to opencv"
+FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python3-opencv = "python3-core python3-numpy"
 
-RDEPENDS_${PN}-apps  = "bash"
+RDEPENDS:${PN}-apps  = "bash"
 
-do_compile_prepend() {
+do_compile:prepend() {
     # remove the build host info to improve reproducibility
     if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then
         sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc
     fi
 }
 
-do_install_append() {
+do_install:append() {
     # Move Python files into correct library folder (for multilib build)
     if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
         mv ${D}/usr/lib/* ${D}/${libdir}/
 SRCREV_opencv = "5423d53ae0d116ee5bbe52f8b5503f0cd8586998"
 OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https"
 SRCBRANCH = "4.5.2_imx"
-SRC_URI_remove = "git://github.com/opencv/opencv.git;name=opencv"
+SRC_URI:remove = "git://github.com/opencv/opencv.git;name=opencv"
 SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv"
 
 # Add opencv_extra
-SRCREV_extra = "855c4528402e563283f86f28c6393f57eb5dcf62"
+SRCREV:extra = "855c4528402e563283f86f28c6393f57eb5dcf62"
 SRC_URI += " \
     git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra \
     file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \
 "
-SRCREV_FORMAT_append = "_extra"
+SRCREV_FORMAT:append = "_extra"
 
 # Add tiny-dnn
 SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
     file://OpenCV_DNN_examples.patch \
 "
 
-PACKAGECONFIG_remove        = "eigen"
-PACKAGECONFIG_append_mx8    = " dnn text"
+PACKAGECONFIG:remove        = "eigen"
+PACKAGECONFIG:append:mx8    = " dnn text"
 PACKAGECONFIG_OPENCL        = ""
-PACKAGECONFIG_OPENCL_mx8    = "opencl"
-PACKAGECONFIG_OPENCL_mx8dxl = ""
-PACKAGECONFIG_OPENCL_mx8mm  = ""
-PACKAGECONFIG_OPENCL_mx8mnlite  = ""
-PACKAGECONFIG_append        = " ${PACKAGECONFIG_OPENCL}"
+PACKAGECONFIG_OPENCL:mx8    = "opencl"
+PACKAGECONFIG_OPENCL:mx8dxl = ""
+PACKAGECONFIG_OPENCL:mx8mm  = ""
+PACKAGECONFIG_OPENCL:mx8mnlite  = ""
+PACKAGECONFIG:append        = " ${PACKAGECONFIG_OPENCL}"
 
 PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx,"
 PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE} -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native,"
 PACKAGECONFIG[tests-imx] = "-DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DINSTALL_TESTS=OFF,"
 
-do_unpack_extra_append() {
+do_unpack_extra:append() {
     mkdir -p ${S}/3rdparty/tinydnn/
     tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/
 }
 
-do_install_append() {
+do_install:append() {
     ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
     install -d ${D}${datadir}/OpenCV/samples/data
     cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
     fi
 }
 
-FILES_${PN}-samples += "${datadir}/OpenCV/samples"
+FILES:${PN}-samples += "${datadir}/OpenCV/samples"
 
 COMPATIBLE_MACHINE = "(mx8)"