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 <ikerpedrosam@xxxxxxxxx> wrote:
On Wed, 24 Jul 2013 17:19:13 +0530
> Please look at how to write the Kconfig files. We need to write a newHi again,
> Kconfig file for our own implementation.
>
> Regards,
> Srinivas G.
>
>
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 <ikerpedrosam@xxxxxxxxx>
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies