linux - 使用mkfile编译linux内核模块

标签 linux module compilation kernel

谁能解释一下这段代码是如何编译的以及什么是“全部”和“干净”?

obj-m += ss.o

全部: make -C/lib/modules/$(shell uname -r)/build M=$(PWD) 模块

干净: 使 -C/lib/modules/$(shell uname -r)/build M=$(PWD) clean

最佳答案

<小时/>

all”和“clean”被理解为make命令。请参阅https://www.gnu.org/software/make/manual/make.html

“默认内核模块Makefile”看起来像这样......

obj-m    := ss.o

KDIR    := /lib/modules/$(shell uname -r)/build
PWD    := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
    rm -rf *.o *.ko *.mod.* *.symvers *.order

...您可以在其中看到使用的default(而不是all)......并查看clean实际在做什么。

<小时/>

关于linux - 使用mkfile编译linux内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743838/

相关文章:

c - 是否有一个 API(如 dup)来复制 fstream,以便它可以

linux - 在每行匹配后使用 grep 获取下一个 WORD

css - 是否有 CSS 编译器在编译时为所有浏览器前缀编写属性?

javascript - config.codekit 恢复未检查输出/编译的 JS 文件

linux - 用于查找早于 2010 年 1 月 1 日的文件的 Shell 脚本

python - 为什么我的代码无法从谷歌加载 MNIST 数据集?

haskell - 是否有任何工具可以帮助在 Haskell 中显式导入模块?

c++ - 为什么在 Windows 上,同一个模块有不同的地址?

python - Windows 上的 "ImportError: No module named site"

compilation - chdir 未声明,编译错误 g++