On Fri, May 16, 2008 at 07:03:55AM +0100, murtuja bharmal wrote: > > --- Joel Becker <Joel.Becker@xxxxxxxxxx> wrote: > > > 1) Have the build name the output files > > appropritately. That is, > > compile foo.c to foo-kernel.o and foo-userspace.o. > > Then link as needed. > > The makefile dependencies Just Work. > > > > Thanks Joel, > In case of Solution 1. > what changes required in Makefile. > I mean how to build foo-kernel.c from foo.c using > kbuild makefile. I still prefer solution 2, but for solution 1, you could do multiple things. You could leave them as them foo.o and foo-userspace.o. That is, build the kernel drivers without a rename. Whatever you do, you're going to hvae to be consistent. So... > Suppose this is my makefile > > obj-m := mymodule.o > > mymodule-objs += \ > dir1/foo.o \ > dir2/bar.o > > all: > make -C /usr/src/linux M=`pwd` modules. > > I only want to change name for foo.c to foo-kernel.o, > not for bar.c. Why would you do that? bar.c is part of the kernel driver, so it should be bar-kernel.o if you are renaming. You don't have to rename, of course. You could use 'foo.o' for kernel objects and 'foo-userspace.o' for userspace objects. Joel -- "People with narrow minds usually have broad tongues." Joel Becker Principal Software Developer Oracle E-mail: joel.becker@xxxxxxxxxx Phone: (650) 506-8127 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html