ubuntu make 文件問題

ubuntu make 文件問題

我對 make 檔案有一個小問題,程式碼如下:

KERNEL_VERSION := $(shell uname -r)
KERNEL_MODLIB  := /lib/modules/$(KERNEL_VERSION)
KERNEL_SOURCES := $(shell test -d $(KERNEL_MODLIB)/source && echo $(KERNEL_MODLIB)/source || echo $(KERNEL_MODLIB)/build)
CPPFLAGS       += -DDRIVER_ERROR -DDRIVER_DEBUG
obj-m   := main.o
KDIR    := $(KERNEL_SOURCES)
PWD := $(shell pwd)
default:
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 
clean:
     $(RM) main.ko.unsigned  main.mod.c  main.mod.o  main.o modules.order  module.symvers .main* .tmp_versions/*

我想知道這段程式碼的作用:

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

謝謝提前~~

答案1

該命令更改到目錄$(KDIR)並從那裡運行 make 來建置目標modules

$(MAKE)是一個運行 make 可執行檔的巨集。原因(而不僅僅是使用make)是該可執行檔可以具有不同的名稱。

-C <directory>在執行 make 之前更改某個目錄。

SUBDIRS=<variable>SUBDIRS運行 make 時定義變數。

modules意味著它將嘗試建立該目標。

相關內容