Results 1 to 2 of 2
Dear all,
I have a question about kernel modules compilation. I understand the
way how make/Makefile works,
for example if I have two source files, hexdump3.asm and textlib.asm,
my Makefile ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 10-02-2010 #1
Makefile for kernel modules
Dear all,
I have a question about kernel modules compilation. I understand the
way how make/Makefile works,
for example if I have two source files, hexdump3.asm and textlib.asm,
my Makefile will look like this:
---------------------------------------------------------------------------
hexdump3: hexdump3.o
ld -o hexdump3 hexdump3.o textlib.o
hexdump3.o: hexdump3.asm
nasm -f elf -g -F stabs hexdump3.asm
textlib.o: textlib.asm
nasm -f elf -g -F stabs textlib.asm
---------------------------------------------------------------------------
and I understand how this works, it goes bottom up, building dependencies first.
But if I have two kernel modules source files, for example, start.c
and stop.c, my Makefile will look like this:
---------------------------------------------------------------------------
obj-m += startstop.o
startstop-objs := start.o stop.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
---------------------------------------------------------------------------
But this does not work on my machine, it runs without errors but does
not produce startstop.ko file.
Also, when I run make on my machine, first line that appears is:
---------------------------------------------------------------------------
make -C /lib/modules/2.6.33.7-rt29/build
M=/home/maiev/work/modules/parts modules
---------------------------------------------------------------------------
So, does anybody know what are lines for manual kernel module
compilation using probably gcc,
without 'obj-m +=' or at least how Makefile should look for multiple
kernel module source files ???
Kind regards
--
Dragoslav Zaric
Professional Programmer
MSc Astrophysics
- 10-04-2010 #2Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,141
See my answer to your other post regarding kernel make files. Since you are obviously building your own kernel module, you should look at the makefiles of other drivers/modules to use as a template. Also, you will need to make them available to the configuration tools in the master kernel makefile if you want it to be built with the kernel. On the other hand, if you are just building a kernel module that you can manually load/unload into the kernel, then you should read one of the recent kernel programming books that are available which go into these issues in some detail.
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!


Reply With Quote
