gpt4 book ai didi

git - 将 Makefile 变量设置为规则中命令的结果

转载 作者:太空狗 更新时间:2023-10-29 14:28:03 25 4
gpt4 key购买 nike

我正在尝试将命令的结果分配给 GNU make 中的变量。如果我在规则之外这样做,它会起作用:

$ cat stack.mk
GIT_BRANCH=$(shell git rev-parse --abbrev-ref HEAD)

all:
@echo Git branch is $(GIT_BRANCH)

$ make -f stack.mk all
Git branch is dev

但如果我将它放在规则体中则不会:

$ cat stack.mk
all:
export GIT_BRANCH=$(shell git rev-parse --abbrev-ref HEAD)
@echo Git branch is $(GIT_BRANCH)

$ make -f stack.mk all
export GIT_BRANCH=dev
Git branch is

是否可以在规则中分配变量。此时我想将几个 git 命令的结果分配给 shell/Makefile 变量。

最佳答案

是的,如果您尝试设置一个Makefile 变量,您可以使用eval 来完成。功能。

all:
$(eval GIT_BRANCH=$(shell git rev-parse --abbrev-ref HEAD))
echo Git branch is $(GIT_BRANCH)

关于git - 将 Makefile 变量设置为规则中命令的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888725/

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