我正在尝试修改现有的makefile.am以包含将* .rc扩展名转换为资源文件的规则。这是我目前所能得到的。
mytarget_SOURCES += ico.rc
.rc.o:
windres -i $< $@
如下所述:http://www.gnu.org/software/automake/manual/html_node/Suffixes.html 在生成的makefile中,ico.rc被添加到源代码中,ico.o被添加到对象中(这样我觉得很好)。
在makefile的末尾,这个.rc.o规则被字面上粘贴了,但我怀疑应该是这样,对吧? .rc.o应该是一个自动规则,但它不是创建ico.o文件的好规则,是吗?
当make运行时,它会重新生成makefile,然后继续抱怨没有规则来制作ico.o. windres,或者我放在那里的任何东西(例如回声)都不会运行。我试过谷歌搜索,但信息很少,而且我能找到的大多数都是我上面给出的链接的副本。我做错了什么?
答案 0 :(得分:2)
Automake只是简单地将生成的Makefile复制到生成的Makefile中。因此,只要您编写的是有效的makefile语法,就可以了。
你所拥有的是make中有效的隐式后缀规则的 part 。但是,您缺少需要将.rc
定义为有效后缀(.o
是内置后缀列表的一部分,因此您不必添加它,除非您只是想要完成)。
将它添加到Makefile.am中:
.SUFFIXES: .rc
有关详细信息,请参阅http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html。