gpt4 book ai didi

Makefile 调用函数。如何获取所有参数

转载 作者:行者123 更新时间:2023-12-04 14:09:49 25 4
gpt4 key购买 nike

当我在 Makefile 中定义自定义函数时,像这样

define add_target
${1}: ${2} ${3}
endef

如何获取已提供给 $(call add_target, ...) 的所有参数的列表?

所以这个 $(call add_target, A, B)将扩展为 A: B而这个 $(call add_target, A, B, C, D)将扩展为 A: B C D
GNU manual只说

When make expands this function, it assigns each param to temporary variables $(1), $(2), etc. The variable $(0) will contain variable. There is no maximum number of parameter arguments.



但没有关于如何获取所有参数。

最佳答案

没有办法,只能写出$1 $2 $3 $4 $5 $6 ...当然,无论您枚举了多少变量,调用者都可以使用更多。

但是,在您的示例中,最简单的做法是传递两个参数:目标名称和先决条件列表(作为单个参数)。所以它会是:

define add_target
${1}: ${2}
endef

... $(call add_target, A, B)
... $(call add_target, A, B C D)

(列表中的先决条件没有逗号分隔)

关于Makefile 调用函数。如何获取所有参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38922089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com