linux驅動編譯時make -C M= 解釋
阿新 • • 發佈:2019-02-06
Makefile為
PWD = $(shell pwd)
KERNEL_SRC =/usr/src/linux-3.0/
obj-m :=test.o
module-objs : =test.o
all:
$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules
clean:
rm *.ko
rm *.o
執行make看到類似的輸出
make[1]:Entering directory /usr/src/linux-3.0
CC [M] /home/vmeth/hello.o
Building modules,stage 2.
MDPOST
CC /home/vmeth/hello.mod.o
LD [M] /home/vmeth/hello.ko
make[1]:Leaving directory /usr/src/linux-3.0
make - C $(KERNEL_SRC)指定跳轉到核心源目錄下讀取那裡的Makefile:M=$(PWD)表明然後返回到當前目錄繼續讀入,執行當前的Makefile.