具有多个 % 的静态模式规则
Static pattern rules with multiple %
假设我有一个代码根据单个输入变量生成输出,我想 运行 用于一系列输入值。按照建议 here,我可以使用如下的 makefile 来完成此操作:
out1 out2 out3: out%: a.out
./a.out $* > $@
这可以推广到多个参数吗? IE。像
out1_1 out1_2 out2_1 out2_2: out%_%: a.out
./a.out $*{1} $*{2} > $@
$*{i}
应该是指第 i
个 %
匹配的内容。
不,make 仅支持 target/prerequisite 模式中的单个 %
。
要执行您想要的操作,您需要阻止整个 #_#
位,然后 munge/parse shell.
假设我有一个代码根据单个输入变量生成输出,我想 运行 用于一系列输入值。按照建议 here,我可以使用如下的 makefile 来完成此操作:
out1 out2 out3: out%: a.out
./a.out $* > $@
这可以推广到多个参数吗? IE。像
out1_1 out1_2 out2_1 out2_2: out%_%: a.out
./a.out $*{1} $*{2} > $@
$*{i}
应该是指第 i
个 %
匹配的内容。
不,make 仅支持 target/prerequisite 模式中的单个 %
。
要执行您想要的操作,您需要阻止整个 #_#
位,然后 munge/parse shell.