On Tue, 15 Jun 2004 14:18:22 -0400 Aaron Bennett <aaron.bennett@xxxxxxxx> wrote: > Arjan van de Ven wrote: > > >The kernel-doc documentation explains it for 2.6, > >if your module is called foo.c you make a Makefile with > >obj-m := foo.o > >in it, and do > >make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules > >to build your module. > Where is that? > [root@burton kernel-doc-2.6.6]# > [root@burton kernel-doc-2.6.6]# fgrep -li "make -C /lib/modules/`uname -r`/build" * Aaron is right. What the kbuild/modules.txt actually documents is: Often modules are developed outside the official kernel. To keep up with changes in the build system the most portable way to compile a module outside the kernel is to use the kernel build system, kbuild. Use the following command-line: make -C path/to/kernel/src SUBDIRS=$PWD modules It does NOT document /lib/modules/`uname -r`, because it is a distribution specific convention. Expirienced developers "know" how to figure the rest, but as Axel's googling aptly demonstrated, Internet is full of idiots, and the "right" knowledge just drowns in the noise. I always send vendors to http://people.redhat.com/zaitcev/notes/Makefile.arjanv Which is not an optimal way to document. It is essentially a tribal knowledge enshrined. Mind if I file a bug against kernel-doc "Document path to correct correct module headers"? -- Pete