使用一个Makefile编译可加载内核模块和用户应用程序 - Linux

时间:2018-04-01 08:36:31

标签: makefile linux-kernel linux-device-driver

最近,我正在开发设备驱动程序的第一步。 我写了一些垃圾代码来了解用户应用程序和设备模块之间通过设备文件的交互。

所以,我编写了用户应用程序和设备驱动程序,并愿意用一个makefile编译这些文件。

但是当我试图这样做时,它没有成功。这是我写的代码:

KERNELDIR = /lib/modules/$(shell uname -r)/build

obj-m := deviceJino.o

PWD := $(shell pwd)

default:
        $(MAKE) -c $(KERNELDIR) M=$(PWD) moudles

上面的代码是设备驱动程序makefile。 以下代码是用户app makefile。

userApplication : userApplication.o
      gcc - o userApplication userApplication.o

userApplication.o : userApplication.c
      gcc -c userApplication.c

clean : 
       rm *.o userApplication

这两个makefile在不同的目录中正常工作。但是,当我将这两个makefile合并为一个并将所有依赖源放入一个目录时,它不起作用。

Plz告诉我如何将这些代码组合成一个Makefile?

0 个答案:

没有答案