我正在学习Linux模块编程。我在Ubuntu 12.04上工作。我制作了一个模块,即start.c
,并将其保存在home/documents/module_prog
。
然后我制作了以下makefile(我不熟悉makefile,所以我只是做了教程告诉我的):
obj-m += start.o
KDIR = /usr/src/linux-headers-3.2.0-31-generic-pae
all:
make -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
但是,现在当我在终端输入make时,会显示一条消息,上面写着
make: Nothing to be done for `all'.
请告诉我有什么问题?
答案 0 :(得分:3)
确保make目标的命令是使用制表符,而不是空格。即。
all:
<tab>make -C $(KDIR) SUBDIRS=$(PWD) modules
否则all
目标将为空,因此无需执行任何操作。