1. 程式人生 > >linux驅動編譯時make -C M= 解釋

linux驅動編譯時make -C M= 解釋

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.