blob: d0d5f847391d74bf495f806e3051e16393abe59a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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"
|