生成文件:
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
一样,为什么?
答案 0 :(得分:3)
make
会从makefile运行第一个可能的东西。 obj-m
和KERNEL_DIR
不是规则,它们是变量。 driver
是第一条遵循的规则。
答案 1 :(得分:1)
如果在未指定目标的情况下调用make,则make选择makefile中的第一个目标作为目标。在这种情况下,它是driver
。 obj-m
和KERNEL_DIR
只是变量分配,而不是目标。