From mboxrd@z Thu Jan 1 00:00:00 1970 From: dhylands@gmail.com (Dave Hylands) Date: Wed, 15 Jun 2011 10:54:26 -0700 Subject: kernel module spanning multiple files In-Reply-To: References: Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hi Prashat, On Wed, Jun 15, 2011 at 10:29 AM, Prashant Shah wrote: > Hi amit, > > On Wed, Jun 15, 2011 at 3:29 PM, amit mehta wrote: >> Hi, >> >> static int __init hello_init(void) >> { >> ? ? ? ?printk(KERN_WARNING "Hello world\n"); >> ? ? ? ?foo(); //defined in anther file > > I removed the foo(); call > >> [root at localhost #] cat Makefile >> obj-m += hello_multi.o >> hello_multi-objs := helper.o > > I removed the "hello_multi-objs := helper.o" line The hello_multi-objs is supposed to contain all of the objects. So you need: hello_multi-objs := object1.o object2.o Since the kernel build system will create hello_multi.o as a result of building the multi object, you can't use a source file named hello-multi.c. You could do hello_multi-objs := hello.o helper.o and rename your hello_multi.c to be hello.c -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com