如何解决Make:如何获得先决条件N
假设我有这样的规则。
cmd
写得不好,所以我实际上不能切换标志的顺序。 -f
必须走在-d
之前。
out: foo.txt mydir fizz.txt
cmd -f fizz.txt -d mydir foo.txt
是否有可能获得第N个前提条件,以便我可以像这样(伪代码)重写我的规则?
out: foo.txt mydir fizz.txt
cmd -f $^[2] -d $^[1] $<
解决方法
是否有可能获得第N个先决条件
您可以使用$(word N,list)
从列表中获得第N个字,这应该可以解决这个问题(未经测试):
out: foo.txt mydir fizz.txt
cmd -f $(word 3,$^) -d $(word 2,$^) $<
请注意,索引词从1开始,而不是0。有关详细信息,请参阅 https://www.gnu.org/software/make/manual/make.html#Text-Functions
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。