Building multi-file modules
Hi Folks,
I've got a module, call it foo, presently built from a single source file, drivers/char/foo.c It's gotten enormous, so I want to split it. Ideally I'd keep the original name for one of the source files. So what I want is a module named foo, build from source files foo.c, bar.c and baz.c
kbuild is being uncooperative.
The following works:
obj-$(CONFIG_FOO) += foo_renamed.o
foo_renamed-objs := foo.o bar.o baz.o
I'd just prefer not to rename either the module or the original source file. Is this supposed to be possible, and if so, how?
I'm on RHEL 6.1, aka kernel 2.6.32, in case that matters. Also, in case that matters, I'm building the module into the kerenl ("y" not "m" in the config.)
----what I've tried----
The following gives me warnings from make:
obj-$(CONFIG_FOO) += foo.o
foo-objs := foo.o bar.o baz.o
The following never compiles foo.c:
obj-$(CONFIG_FOO) += foo.o
foo-objs := bar.o baz.o
Thanks for any insight,
--
Arlie
(Arlie Stephens arlie at worldash.org)
Hi Stephens,
Try this below one.
obj-$(CONFIG_FOO) += foo.o
foo-y := bar.o baz.o
This compiles module foo.ko from the foo.c , bar,c baz.c
Refer this for more information on Kbuild.
https://www.kernel.org/doc/Documentation/kbuild/modules.txt
Regards,
Yuva
Quoted 41 lines · Arlie Stephens
Hi Folks,
I've got a module, call it foo, presently built from a single source file,
drivers/char/foo.cIt's gotten enormous, so I want to split it. Ideally I'd keep the original name for one of the source files. So what I want is a module named foo, build from source filesfoo.c,bar.candbaz.ckbuild is being uncooperative.
The following works:
obj-$(CONFIG_FOO) += foo_renamed.o
foo_renamed-objs := foo.o bar.o baz.oI'd just prefer not to rename either the module or the original source file. Is this supposed to be possible, and if so, how?
I'm on RHEL 6.1, aka kernel 2.6.32, in case that matters. Also, in case that matters, I'm building the module into the kerenl ("y" not "m" in the config.)
----what I've tried----
The following gives me warnings from make:obj-$(CONFIG_FOO) += foo.o
foo-objs := foo.o bar.o baz.oThe following never compiles
foo.c:obj-$(CONFIG_FOO) += foo.o
foo-objs := bar.o baz.oThanks for any insight,
--
Arlie
Quoted 7 lines
(Arlie Stephens arlie at worldash.org)
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130508/110533b0/attachment.html