任何人都可以解释这段代码是如何编译的,什么是“全部”和“干净”?
obj-m + = ss.o
所有: make -C / lib / modules / $(shell uname -r)/ build M = $(PWD)modules
清洁: make -C / lib / modules / $(shell uname -r)/ build M = $(PWD)clean
答案 0 :(得分:0)
" 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
实际上在做什么。