make file compilation error

时间:2014-01-06 09:39:15

标签: makefile

我正在尝试使用cross_compile为ARM板编译模块。 它显示如下错误。 当我尝试编译x86系统时它工作正常 创建* .ko文件。 我正在使用make文件如下 制作文件代码:

obj-m += max-mem2.o

#startstop-objs := start.o stop.o

all:
        make -C /home/satishg/qemu/linux-3.2 M=$(PWD) modules


clean:
        make -C /home/satishg/qemu/linux-3.2 M=$(PWD) clean

代码结束:

我正在将内核路径更改为linux内核源代码而不是/ usr / src / linux /<> / build 这里出了什么问题?

错误:内核配置无效。          缺少include / generated / autoconf.h或include / config / auto.conf。          运行'make oldconfig&&在内核src上做准备以修复它。

警告:符号版本转储/home/satishg/qemu/linux-3.2/Module.symvers            不见了;模块没有依赖关系和modversions。

提前谢谢你。 --Satish.G

1 个答案:

答案 0 :(得分:0)

首先,每当在makefile中以递归方式运行make时,你永远不会显式地运行make;您总是使用$(MAKE)变量。

其次,变量PWD未在您的makefile中设置,因此它将为空,M=$(PWD)扩展为M=,这是不正确的。你从哪里得到的?你的意思是使用M=$(CURDIR),还是你的makefile还有更多你没有向我们展示?

第三,错误消息对我来说非常清楚:似乎你没有配置备用Linux内核源代码树。它甚至为您提供了执行该配置时应运行的命令。