gpt4 book ai didi

variables - 目标下的makefile变量赋值

转载 作者:行者123 更新时间:2023-12-05 01:00:18 25 4
gpt4 key购买 nike

我在我的 Makefile 的目标中运行以下命令。

target1:
<run some command which creates ids.log>
$(eval id1 := $(shell cat ids.log | head -1))
@echo id is $(id1)
<some other command which uses the value $(id1)>

我的任务是获取“ids.log”中的第一行并将其保存在变量 id1 中,以便我可以使用我将在此目标中接下来执行的命令中的值。

运行此命令时出现错误“cat: ids.log: No such file or directory”。看起来 $(eval .. ) 命令是在 make 开始时执行的,而不是作为目标 make 的一部分。并且由于 ids.log 在目标 make 完成之前不会创建,因此我们会收到此错误。

任何人都可以帮助获取我执行的 shell 命令的值并将其放入变量中以供按需使用吗?

最佳答案

有一个单独的目标,使 ids.log首先将其作为对 target 的依赖.

例如:

ids.log:
echo 1 > ids.log

target: ids.log
$(eval id1 := $(shell cat ids.log | head -1))
@echo id is $(id1)

关于variables - 目标下的makefile变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29534798/

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