我正在尝试在 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/