summaryrefslogtreecommitdiffstats
path: root/recipes/char-driver/char-driver.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/char-driver/char-driver.bb')
-rw-r--r--recipes/char-driver/char-driver.bb65
1 files changed, 65 insertions, 0 deletions
diff --git a/recipes/char-driver/char-driver.bb b/recipes/char-driver/char-driver.bb
new file mode 100644
index 0000000000..d0d5f84739
--- /dev/null
+++ b/recipes/char-driver/char-driver.bb
@@ -0,0 +1,65 @@
+# FIXME, consider using kernel staging directory instead of KERNEL_SOURCE which is
+# located in the work directory. see module.bbclass
+
+DESCRIPTION = "char-driver and userspace program"
+PRIORITY = "optional"
+SECTION = "base"
+LICENSE = "GPL"
+RDEPENDS = "kernel (${KERNEL_VERSION})"
+DEPENDS = "virtual/kernel"
+
+PR = "r3"
+
+SRC_URI = "http://www.davehylands.com/gumstix-wiki/char-driver/char-driver-2.6.21.tar.gz \
+ file://makefile.patch;patch=1 \
+# file://sysctl.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/char-driver"
+
+inherit module-base
+
+addtask builddir after do_fetch before do_unpack
+addtask movesrc after do_unpack before do_patch
+
+EXTRA_OEMAKE = 'CROSS_COMPILE="${CROSS_COMPILE}" \
+ KERNELDIR="${KERNEL_SOURCE}" \
+ CC="${CC}" \
+ '
+
+PARALLEL_MAKE = ""
+
+do_builddir () {
+ mkdir -p ${S}
+}
+
+do_movesrc () {
+ cd ${WORKDIR}
+ mv char-driver*.c sample.c char-driver*.h Makefile ${S}
+}
+
+do_configure () {
+ echo "Nothing to configure for char-driver"
+}
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ cd ${S}
+ oe_runmake
+}
+
+do_install () {
+ # install programs to bindir
+ install -m 0755 -d ${D}${bindir}
+ install -m 0755 ${S}/sample ${D}${bindir}
+
+ # kernel module installs with other modules
+ install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra/
+ # use cp instead of install so the driver doesn't get stripped
+ cp ${S}/char-driver.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra/
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${bindir}/sample"
+FILES_${PN} += "${base_libdir}/modules/${KERNEL_VERSION}/extra/char-driver.ko"
+