在 Makefile 中,如何从列表的每个成员中创建一个带有附加名称的目标?
In Makefile, how can I make a target with appended name from each members of list?
我想创建一个 Makefile,这样如果我输入 make q_a
它就会运行 qemu aarch64/a/a.elf
,如果我输入 make q_b
它就会运行 qemu aarch64/b/b.elf
.
我怎样才能用 Makefile 做到这一点? (你可以假设我有一个有限的 a、b、c、.. 列表,但如果没有限制,我会更高兴)。
刚刚:
q_%: ; echo $*
了解 pattern rules and automatic variables。
在你明确了你的问题之后,你可以使用这个:
q_% : ; qemu aarch64/$*/$*.elf
我试过这个,效果很好。
(实际命令更复杂,但我减少了它以匹配我的问题)
q_% :
qemu aarch64/$(subst q_,,$@)/$(subst q_,,$@).elf
我想创建一个 Makefile,这样如果我输入 make q_a
它就会运行 qemu aarch64/a/a.elf
,如果我输入 make q_b
它就会运行 qemu aarch64/b/b.elf
.
我怎样才能用 Makefile 做到这一点? (你可以假设我有一个有限的 a、b、c、.. 列表,但如果没有限制,我会更高兴)。
刚刚:
q_%: ; echo $*
了解 pattern rules and automatic variables。
在你明确了你的问题之后,你可以使用这个:
q_% : ; qemu aarch64/$*/$*.elf
我试过这个,效果很好。
(实际命令更复杂,但我减少了它以匹配我的问题)
q_% :
qemu aarch64/$(subst q_,,$@)/$(subst q_,,$@).elf