无法“编译” makefile

无法“编译” makefile

这是生成文件:

obj-m += hello_pass_arg.o

KDIR = /lib/modules/$(shell uname -r)/build

all:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:  
    rm -rf *.o *.ko *.mod.* *.symvers *.order

当我执行命令“make”时显示以下错误:

make -C /lib/modules/3.8.13.14-qd/build SUBDIRS=/usr/src/linux-headers-3.8.13.14-qd/drivers/hello modules
make[1]: Entering directory `/root/source/linux-lts-raring-3.8.0'
make[2]: *** No rule to make target `/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.c', needed by `/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.o'.  Stop.
make[1]: *** [_module_/usr/src/linux-headers-3.8.13.14-qd/drivers/hello] Error 2
make[1]: Leaving directory `/root/source/linux-lts-raring-3.8.0'
make: *** [all] Error 2

我不明白为什么它会进入linux-lts-raring-3.8.0!

答案1

将您的hello_pass_arg.c文件移动到 Linux 内核源代码以外的位置,它就应该可以工作了。

相关内容