lkml.org 
[lkml]   [2003]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: no version magic, tainting kernel.
The solution

make -C KERNEL_SOURCE SUBDIRS=$PWD modules

is fine, but you have to have a Makefile in the current directory,
and that Makefile needs a somewhat different form for 2.4 and
2.5 kernels. Here is a quick and dirty script for generating
a quick boilerplate for the sources in that directory. Straightforward
to customize and extend etc. (You may have to change some whitespace
to TABS for make...)

======================================================================
Jerry Cooperstein, Senior Consultant, <coop@axian.com>
Axian, Inc., Software Consulting and Training
4800 SW Griffith Dr., Ste. 202, Beaverton, OR 97005 USA
http://www.axian.com/
======================================================================

#!/bin/bash

# script for generating external Makefile for kernel modules
# Jerry Cooperstein, Axian Inc 2003_01_27
# Too trivial to GPL; use as desired.

# do either "makeit"; assumes kernel source at /usr/src/linux-`uname -r`
# or "makeit /usr/src/linux-2.5.59 or makeit /usr/src/linux-2.4.20" etc.

# Should work on all 2.4, 2.5 kernels.
# assumes all .c files in current directory are modules

if [ "$1" == "" ] ; then
KROOT=/usr/src/linux-`uname -r`
else
KROOT="$1"
fi

if [ `echo $KROOT | grep 2.5` ] ; then
VERSION=2.5
else
VERSION=2.4
fi

OBJS=""
for names in *.c ; do
OBJS=$OBJS" `basename $names .c`.o"
done

PHONYS="$OBJS"

rm -f Makefile

cat <<EOF > Makefile
obj-m += $OBJS
KROOT=$KROOT
all: mmodules
EOF

if [ $VERSION == 2.5 ] ; then
CLEANSTUFF="*.o *.ko .*cmd"

cat <<EOF >> Makefile
PHONYS=$PHONYS
.PHONY: \$(PHONYS) clean
EOF

else

CLEANSTUFF="*.o .*flags"

cat <<EOF >> Makefile
TOPDIR=\$(KROOT)
include \$(TOPDIR)/Rules.make
.PHONY: clean
EOF
fi

cat <<EOF >> Makefile
mmodules:
\$(MAKE) -C \$(KROOT) SUBDIRS=$PWD modules
clean:
rm $CLEANSTUFF
EOF
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.077 / U:2.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site