On Sat, Jun 28, 2008 at 2:32 AM, Adrian Bunk <bunk@xxxxxxxxxx> wrote: > On Sat, Jun 28, 2008 at 02:16:14AM +0500, Shaz wrote: >> Hi, >> >> Need to compile an external module as a kernel built-in module. Its >> Makefile is set as obj-m meaning as a loadable module so it will be >> kept on filesystem separately. This means I have to do obj-y to make >> it built-in. But I wanted to know, before I just try it out, that the >> Makefile of the kernel module is way too complex for me and there was >> an install target which is creating files for miscilleneous functions >> of the module and it had a /dev/<module-name>, which means its a >> device driver. >> >> So what do I need to consider apart from the change obj-m to obj-y? > > It does not work this way. Are you sure because in kernel top-level Makefile contains SUBDIRS symbol for external modules and if it contains a path then target all becomes _all else _all becomes modules. Personally, I am not sure of this behavior but I think if we can do obj-y instead of obj-m than maybe this module is built-in. Sorry you already said it's not possible but I am still curious why it doesn't in the light of SUBDIRS. By the way can you suggest how do I workout getting the code inside the kernel source. Analyzing the following from module's Makefile: all: $(src)/crypto/gmp.h $(src)/crypto/libgmp.a @$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) modules I thought maybe if i replace "modules" with "all", it might have the same effect as what I suggested in case of SUBDIRS for kernel Makefile. Thanks > > You have to add the external module to the kernel sources so that it > gets built when the kernel gets built. > >> Shaz > > cu > Adrian > > -- > > "Is there not promise of rain?" Ling Tan asked suddenly out > of the darkness. There had been need of rain for many days. > "Only a promise," Lao Er said. > Pearl S. Buck - Dragon Seed > > -- Shaz -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ