0
我正在为嵌入式系统开发,这意味着我必须使用链接器脚本。这没什么大不了的。我开始用下面的创建规则的一切联系在一起:在规则中添加一个依赖关系而不会将依赖关系附加到总列表中
$(RELEASETARGET) : $(OFILES)
$(LD) -Tlinker_script.ld --entry ResetISR --gc-sections $(LIBDIR) -o [email protected] $^ $(LIB)
正如你可以看到这行包含一个错误:linker_script.ld是这个规则的依赖,但它不是在依赖提及。但是,如果我只是把它添加到DEPS结束:
$(RELEASETARGET) : $(OFILES) linker_script.ld
$(LD) -Tlinker_script.ld --entry ResetISR --gc-sections $(LIBDIR) -o [email protected] $^ $(LIB)
它也被-o后添加到列表,程序将无法在设备上运行。
这些警告都不是有害的,但我喜欢没有它们的生活。这是不可能的,只是删除-Tlinker_script.ld部分,只将脚本添加到依赖关系列表:然后配置将不会正确加载,程序将无法在设备上运行。
那么,如何添加此依赖项而不将其添加到.o-files列表中呢?
为什么不直接使用'$(OFILES)'代替'$ ^'? – 2014-11-02 21:40:01