lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 02 Oct 2010 13:53:31 -0400
From:	Davidlohr Bueso <dave@....org>
To:	Dragoslav Zaric <zaricdragoslav@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: Makefile for kernel modules

On Sat, 2010-10-02 at 21:20 +0400, Dragoslav Zaric wrote:
> 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 ???

This is covered, among many other resources, in LDD3, chapter 2:
http://lwn.net/images/pdf/LDD3/ch02.pdf

For these kind of questions you might want to email the kernelnewbies
ML, instead of LKML, which is basically for the development of the
kernel.

- Davidlohr


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ