| #!/bin/bash -ex |
| |
| function find_kdir() { |
| local kdirs=(/usr/lib/modules/*/build/Makefile /usr/src/kernels/*/Makefile) |
| local kdir="" |
| |
| for f in "${kdirs[@]}"; do |
| if [ -f "$f" ]; then |
| kdir=$f |
| break |
| fi |
| done |
| |
| if [ -z "$kdir" ]; then |
| printf '==> Unable to find kernel headers to build modules for tests\n' >&2 |
| exit 1 |
| fi |
| |
| kdir=${kdir%/Makefile} |
| |
| echo $kdir |
| } |
| |
| if [ -f configure ]; then |
| make distclean |
| fi |
| |
| rm -rf build |
| mkdir build |
| cd build |
| |
| kdir=$(find_kdir) |
| IFS=/ read _ _ _ kver _ <<<"$kdir" |
| |
| ../autogen.sh c |
| make -j |
| make check KDIR="$kdir" KVER="$kver" |
| make install |