使用 mkfile 编译 linux 内核模块
compile linux kernel module with mkfile
谁能解释一下这段代码是如何编译的,什么是 "all" 和 "clean"?
obj-m += ss.o
所有:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) 模块
清洁:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
"all
" 和 "clean
" 被理解为 make
命令。参见 https://www.gnu.org/software/make/manual/make.html
"default kernel module 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
实际上在做什么。
谁能解释一下这段代码是如何编译的,什么是 "all" 和 "clean"?
obj-m += ss.o
所有: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) 模块
清洁: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
"all
" 和 "clean
" 被理解为 make
命令。参见 https://www.gnu.org/software/make/manual/make.html
"default kernel module 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
实际上在做什么。