前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >make[1]: *** No rule to make target ‘.depend.XXXX‘, needed by ‘.XX‘. Stop.解决

make[1]: *** No rule to make target ‘.depend.XXXX‘, needed by ‘.XX‘. Stop.解决

作者头像
嵌入式与Linux那些事
发布2021-05-20 10:33:42
2.8K0
发布2021-05-20 10:33:42
举报
文章被收录于专栏:嵌入式与Linux那些事

  最近在移植uboot支持NANDFLASH时,遇到一个错误。烦了两天,终于找到了!具体报错如下。

代码语言:javascript
复制
make[1]: *** No rule to make target '.depend.s3c2440_nand', needed by '.depend'.  Stop.
make[1]: Leaving directory '/work/system/u-boot-2012.04.01/drivers/mtd/nand'
Makefile:485: recipe for target 'drivers/mtd/nand/libnand.o' failed
make: *** [drivers/mtd/nand/libnand.o] Error 2

  大概意思就是:在链接libnand.o时找不到s3c2440_nand的依赖文件。   后来仔细检查了makefile,确保了已经在makefile中添加了 s3c2440_nand.c的依赖文件。如图:

在这里插入图片描述
在这里插入图片描述

  接着考虑是不是代码写错了。对照自己修改的部分如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  检查好几遍发现代码并没有错。宏开关也都打开了 ,初始化,内存,寄存器等都配置了。仔细一想,如果是代码错误,编译不应该报这样的错误。   google时参考了几篇文章,解决办法都不相同,但是问题都是出在makefile 。最后确定就是makefile的原因,可能自己没有发现。 http://blog.csdn.net/vblittleboy/article/details/21012991 http://blog.csdn.net/roserose0002/article/details/38397537   仔细看了s3c2440_nand.c文件名也没写错。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  接着我重新复制windows下的文件的名字到makefile下,更改.o依赖的名字发现是多了一个空格

在这里插入图片描述
在这里插入图片描述

  第一次修改时,没注意到这个空格,所以我就删去了。今天才发现这里有问题,接着删去windows下的文件和ubuntu下makefile的空格符号,编译就通过了。

在这里插入图片描述
在这里插入图片描述

  太大意了。这个错误困扰了两天。第一天仔细检查了代码,google找资料,没有解决。今天再拿出来看,才发现这个错误。有时候错误并不能一眼看出来。换个时间,再回来看或许有不一样的结果!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档