linux上的设备驱动程序编译错误

时间:2016-01-02 14:36:33

标签: linux makefile linux-device-driver

我已经开始编写设备驱动程序并编写了第一个字符驱动程序并得到了编译错误:

    scripts/Makefile.build:44: /home/betatest/Public/Device-Driver-Test/first-driver/Makefile: No such file or directory
    make[2]: *** No rule to make target '/home/betatest/Public/Device-Driver-Test/first-driver/Makefile'.  Stop.
    Makefile:1448: recipe for target '_module_/home/betatest/Public/Device-Driver-Test/first-driver' failed
    make[1]: *** [_module_/home/betatest/Public/Device-Driver-Test/first-driver] Error 2
    make[1]: Leaving directory '/usr/src/kernels/2.6.32-573.12.1.el6.x86_64'
    makefile:19: recipe for target 'default' failed
    make: *** [default] Error 2

我的make文件名是“ makefile ”? 在学习makefile的时候写的是makefile的默认名称可以是 Makefile makefile ,它对make实用程序没有区别。名称对设备驱动程序makefile是否重要?设备驱动程序的make文件名是否应该强制为“ Makefile ”?如果是这样的话?

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

脚本未使用默认名称运行make。该脚本提供的-f /home/betatest/Public/Device-Driver-Test/first-driver/Makefile不存在。

答案 1 :(得分:1)

  在研究makefile时,写入make文件的默认名称可以是Makefile或makefile,它对make实用程序没有区别

真的。当您调用make命令时,它知道要查找Makefilemakefile

但是可能还有其他原因导致您看到此错误。脚本可能会使用显式make参数调用-f来查找Makefile。请查看44中的scripts/Makefile.build行。

答案 2 :(得分:1)

What Name to Give Your Makefile

当您使用make实用程序时,它将按顺序搜索GNUmakefile,makefile和Makefile.First名称不建议使用,因为在使用GNU make实用程序时应该使用它。对于非标准的makefile名称,您可以使用make实用程序指定--file或-f。

似乎行44有错误。尝试使用makefile选项编译-f