linux - Makefile 规则未执行

标签 linux ubuntu makefile gnu-make

我正在尝试在 Ubuntu 14.04 上编译 Atmel 的 Bitcloud (WSNDemo)。

但是 makefile ( http://pastebin.com/4gGcGRvY ) 似乎没有在我的计算机上执行规则。

问题是它不启动编译器,仅启动链接器。当然,链接器将无法找到对象。

$(OBJ_PATH)/%.o: $(SRCS)

在运行此命令时永远不会被调用(makefile 中的第 187 行):

make -n -f Makefile_All_StdlinkSec_MegaRf_Atmega2564rfr2_16Mhz_Gcc all APP_NAME=WSNDemo

但是,如果我手动指定对象和源(第 192 行),那么它运行良好:

$(OBJ_PATH)/ofdIntFlashRead.o: ../../../../BitCloud/Components/HAL/drivers/OFD/src/ofdIntFlashRead.s

注意:所有源文件都位于正确的位置。

所以我不明白为什么模式匹配不起作用。

最佳答案

抱歉误导了大家。

错误出现在 Makefile 中。它来自Windows,作者无意中将文件名更改为小写,然后makefile在Linux上找不到它(但在Windows上没问题)。

感谢您抽出宝贵的时间。

关于linux - Makefile 规则未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723554/

相关文章:

linux - linux Imagemagick 将 PDF 转换为 JPG 的问题

linux - 如何在终端/控制台中的命令行旁边显示时间

python - 如何在 VSCode 中运行 python3 代码?/bin/sh : 1: python: not found

python - 即使在连接丢失或 SSH 连接终止后,如何让 python 脚本(abc.py)继续在 AWS 上执行?

c - fatal error : opening dependency file

makefile - 如何通过测试文件是否存在来有条件地设置 Makefile 变量

linux - 用于提取目录中所有 .tgz 的 Bash 脚本

mysql - 是否可以将我的数据库导入另一台服务器?

Java - Ubuntu 服务器文件未找到异常

c++ - Makefile 第一个规则目标