diff options
Diffstat (limited to 'yocto-poky/meta/classes/module-base.bbclass')
-rw-r--r-- | yocto-poky/meta/classes/module-base.bbclass | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/yocto-poky/meta/classes/module-base.bbclass b/yocto-poky/meta/classes/module-base.bbclass new file mode 100644 index 000000000..8be26c4f5 --- /dev/null +++ b/yocto-poky/meta/classes/module-base.bbclass @@ -0,0 +1,27 @@ +inherit kernel-arch + +# This is instead of DEPENDS = "virtual/kernel" +do_configure[depends] += "virtual/kernel:do_shared_workdir" + +export OS = "${TARGET_OS}" +export CROSS_COMPILE = "${TARGET_PREFIX}" + +# This points to the build artefacts from the main kernel build +# such as .config and System.map +# Confusingly it is not the module build output (which is ${B}) but +# we didn't pick the name. +export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}" + +export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}" +KERNEL_OBJECT_SUFFIX = ".ko" + +# kernel modules are generally machine specific +PACKAGE_ARCH = "${MACHINE_ARCH}" + +# Function to ensure the kernel scripts are created. Expected to +# be called before do_compile. See module.bbclass for an exmaple. +do_make_scripts() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ + -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts +} |