gpt4 book ai didi

Makefile 在目标体中设置全局变量

转载 作者:行者123 更新时间:2023-12-03 23:54:47 24 4
gpt4 key购买 nike

我想通过配方设置一个全局变量,然后在另一个 中引用该变量独立 食谱

下面的代码是一个示例代码,它在配方内设置变量,但如果在配方外引用,变量将保持初始值

ACTIVE = a

switch:
ifeq ($(ACTIVE),b)
ACTIVE=$(shell echo 'a')
else
ACTIVE=$(shell echo 'b')
endif

print:
$(info acitve = $(ACTIVE))

我知道有多种方法可以将特定于目标的变量的值广播到相关目标,但这不是我想要的。

最佳答案

您可以使用 $(eval ...)为此,尽管这几乎总是一个坏主意。我必须假设您的实际情况要复杂得多,因为有许多更好的方法可以完成您在示例 makefile 中实际提供的内容。

switch:
$(eval ACTIVE=$(if $(filter-out a,$(ACTIVE)),a,b))

关于Makefile 在目标体中设置全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50525327/

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