makefile常见错误及其解决

这里我就最近在搞基于DE2开发板的NIOS 2 uClinux2.6-19的移植及S3C2440 wince5.0 BSP移植及开发工作中所遇到的一些makefile相关的问题及其相应的解决总结一下,其目的同样是希望与大家共同分享.

              1.   makefile error:56 :***遗漏分隔符,停止.
提示:在makefile文件中某一行(这里为56行),少了一个分隔符,故编译停止。
解决:在编写makefile文件时,编写规则规定所有的命令(包括自定义工具名打头的命令),如gcc,clean,all等,之前必须是tab作为分隔符,不能用空格代之。因为tab通常为4个空格的长度。所以将错误行Backspace到最左边,再加一tab键开始即可了。
这一问题常常发生在修改利用别人已有makefile的时候。

             2.    makefile error:***/arch:是一个目录,停止。
提示:makefile文件中某一参数或者路径为一个目录,故make工具不能识别该参数,继而停止工作。
解决:这一问题在makefile的所有错误中最为隐蔽,不易检查,却十分容易犯。在makefile中所有路径的引用或定义行末都不能有空格,应直接以回车符结束。
例如:ROOTDIR = /home/my_nios2/uClinux-dist
这样的一个路径定义在make过程中就会报上面的错误,去掉行末的空格键()改为如下即可。
ROOTDIR = /home/my_nios2/uClinux-dist
 
关于makefile的问题很多,对于我们搞嵌入式的人来说,做嵌入式软件,只要牵涉到操作系统就少不了要和makefile打交道,所有的这些问题在实践工作中都会不期而至,我们要做的不仅是要解决之,更重要的是要多总结它们,积累的多了,问题也就自然少了

====
http://huxiongwei.spaces.eepw.com.cn/articles/article/item/83362

你可能感兴趣的:(compiler)