All of lore.kernel.org
 help / color / mirror / Atom feed
From: Davidlohr Bueso <dave@gnu.org>
To: Dragoslav Zaric <zaricdragoslav@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Makefile for kernel modules
Date: Sat, 02 Oct 2010 13:53:31 -0400	[thread overview]
Message-ID: <1286042011.2036.1.camel@cowboy> (raw)
In-Reply-To: <AANLkTikKjP-VLkygYbyg8THiCuM=vBfGaqq49+cuBj6u@mail.gmail.com>

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



  reply	other threads:[~2010-10-02 17:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-02 17:20 Makefile for kernel modules Dragoslav Zaric
2010-10-02 17:53 ` Davidlohr Bueso [this message]
2010-10-04  2:32 ` Américo Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1286042011.2036.1.camel@cowboy \
    --to=dave@gnu.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zaricdragoslav@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.