为什么可以在这里工作?

时间:2011-03-22 07:51:01

标签: linux makefile

生成文件:

KERNEL_DIR := /usr/src/linux-2.6.32.9

obj-m := try.o

driver:     try.c
    make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules
clean:
    rm -rf *.o *.ko *.mod.c

当我输入make时,运行make -C $(KERNEL_DIR) SUBDIRS= pwd modules,就像运行make driver一样,为什么?

2 个答案:

答案 0 :(得分:3)

如果没有参数调用,

make会从makefile运行第一个可能的东西。 obj-mKERNEL_DIR不是规则,它们是变量。 driver是第一条遵循的规则。

答案 1 :(得分:1)

如果在未指定目标的情况下调用make,则make选择makefile中的第一个目标作为目标。在这种情况下,它是driverobj-mKERNEL_DIR只是变量分配,而不是目标。