Generally, obj-y += foo.o
This tells kbuild that there is one object in that directory, named foo.o. foo.o will be built from foo.c or foo.S. If foo.o shall be built as a module, the variable obj-m is used. obj-$(CONFIG_FOO) += foo.o $(CONFIG_FOO) evaluates to either y (for built-in) or m (for module). If CONFIG_FOO is neither y nor m, then the file will not be compiled nor linked. The #1 in your case, ifdef i.e. if the compilation flag (in your case CONFIG_MY_SYSTEM_CALL) is defined then only the module is included into the image. I hope this helps you. Regards, Srinivas G. On Wed, Jul 31, 2013 at 3:42 PM, Iker Pedrosa <[email protected]>wrote: > On Wed, 24 Jul 2013 17:19:13 +0530 > Srinivas Ganji <[email protected]> wrote: > > > Hi Iker Pedrosa, > > > > Please look at how to write the Kconfig files. We need to write a new > > Kconfig file for our own implementation. > > > > Regards, > > Srinivas G. > > > > > > Hi again, > > I've just created the Kconfig and I have pend it from General setup, it's > been a little bit difficult, mainly the part to pend it from General setup. > Now, I've got some questions, which is the difference between the following > statements? > 1) > ifdef CONFIG_MY_SYSTEM_CALL > obj-y += my_system_calls.o > endif > > 2) > obj-(CONFIG_MY_SYSTEM_CALL) += my_system_calls.o > > Where do I build the object in the object in the second option? Is it done > in the same Makefile or in another one? > > Regards, > -- > Iker Pedrosa <[email protected]> >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
