sub-directory kernel module compilations

Matt Domsch Matt_Domsch at dell.com
Tue Feb 26 12:42:38 CST 2008


On Mon, Feb 25, 2008 at 09:30:51PM +1000, Matt Paine wrote:
> ------------8<----------dkms.conf---------------
> 
> PACKAGE_NAME=zaptel
> PACKAGE_VERSION=1.4.9-0.4
> MAKE="make -C ${kernel_source_dir} SUBDIRS=
> ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build
> HOTPLUG_FIRMWARE=yes KBUILD_OBJ_M='pciradio.o tor2.o torisa.o wcfxo.o
> wct1xxp.o wctdm.o wcte11xp.o wcusb.o zaptel.o ztd-eth.o ztd-loc.o
> ztdummy.o ztdynamic.o zttranscode.o wct4xxp/ wctc4xxp/ xpp/ wctdm24xxp/
> wcte12xp/' modules"


I think is too complicated a MAKE line.  You really want Kbuild files
that handle all this for you, just as it does in the kernel tree
itself.

If I were doing this, I would have a Kbuild file at the top of your
tree containing something like:


obj-m += pciradio.o tor2.o torisa.o wcfxo.o wct1xxp.o wctdm.o \
         wcte11xp.o wcusb.o zaptel.o ztd-eth.o ztd-loc.o ztdummy.o \
         ztdynamic.o zttranscode.o \
	 wct4xxp/ wctc4xxp/ xpp/ wctdm24xxp/ wcte12xp/

and in each of those last 5 dirs, a Kbuild file that has like:

obj-m += wct4xpp.o


and in dkms.conf, have no MAKE= line at all, so it defaults to the
standard build process.

It's also not clear what the HOTPLUG_FIRMWARE=yes is supposed to do.



-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux



More information about the DKMS-devel mailing list