假设我有在Makefile一以下规则:如何从依赖列表中的特定依赖的目标
%.foo: %.bar %.spam %.bot
<tab> echo "hello1" > $<
怎么能我也附和“hello2”进第二个依赖项(但不是.bot文件),即.spam文件?由于
假设我有在Makefile一以下规则:如何从依赖列表中的特定依赖的目标
%.foo: %.bar %.spam %.bot
<tab> echo "hello1" > $<
怎么能我也附和“hello2”进第二个依赖项(但不是.bot文件),即.spam文件?由于
%.foo: %.bar %.spam %.bot
echo "hello1" > $<
echo hello2 > $(word 2,$^)
(注意>
改写,至少在我所知道的炮弹,这使得整个演习很没有意义的。要追加,使用>>
。)
什么你问是对立的make的正常运行:一条规则应该修改冒号左侧上的文件,而不是右侧上的文件。你在这里没有给出很多背景,所以很难给你更具体的建议。
至于具体的问题你问,你可以使用这样的事情:
%.foo: %.bar %.spam %.bot
echo "hello1" > $<
echo "hello2" > $*.spam
它使用$*
自动变量,它被定义为匹配%
字符的文件名的一部分在模式规则。
是的。我将Makefile用于其他目的,而不是用于编译。我发现了Beta的建议,但我更喜欢你的方式。它很整洁。谢谢 – RNAer 2011-04-08 15:30:52
或者,使用'$(word 2,$ ^)'。来自:http://stackoverflow.com/questions/11424204 – 2014-08-12 22:38:37