如何将 shell 命令的输出分配给所有 make 目标的 Makefile 变量?

沃卡哈特

我有一个随机字符串,它生成并用于多个 make 目标。我的Makefile样子:

VALUE := $(shell strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n')

target_0:
  echo ${VALUE}
  $(MAKE) target_1

target_1:
  echo ${VALUE}

我希望VALUE所有目标都相同(设置一次并在整个文件中引用其值),但使用我当前的实现,我得到以下结果(值不同):

K29p6whTYtrNIrzkaNkF75qtc2YQEq
hcXH00hzYMRa36hp55wBKCRH0YfJvp

如何VALUE在顶部进行设置Makefile以便仅对所有目标进行评估和设置一次,而不是每次调用目标时?

杰米吉南

$(MAKE) target_1是一个递归的 make 调用,一个从顶部make读取的全新过程Makefile

如果你真的想这样做,你可以传递VALUE=${VALUE}给递归 make,它会优先于:=赋值,

        $(MAKE) target_1 VALUE=${VALUE}

作为递归的替代方法,您可以使用依赖项依次调用一个规则,

target_0: target_1
         ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将命令的输出分配给Makefile变量

如何将命令的输出分配给shell变量?

如何将此命令的输出分配给Shell中的变量?

如何将计算输出分配给Shell变量

我如何将makefile函数的输出分配给变量

用于调用具有多个目标的make的Makefile

如何将日期分配给shell变量?

如何将Bash命令的输出分配给变量?

如何从GNU make文件运行Linux shell命令以设置构建目标的前提条件

如何将包含 ` ` 的命令分配给 bash shell 脚本中的变量?

将jps -vl命令的输出分配给shell脚本中的变量

将 memcache 命令的输出分配给 shell/bash 脚本中的变量

Make:函数中特定于目标的变量分配

特定目标的Makefile环境变量

如何将目标词干传递给Makefile中的Shell命令

如何将$ @更新为Makefile变量相关目标规则?

Makefile中所有目标的行为

Makefile:如何在目标之前将环境变量导出到shell?

如何提取curl命令输出的一部分并将其分配给shell变量?

如何检查Makefile中目标的存在

如何在GNU make中将目标“私有”仅供内部使用?或者:如何最好地实施特定于目标的变量值?

Jenkins 声明式管道 - 如何将表达式分配给 shell 变量

如何将选择语句从Oracle分配给Shell变量

Makefile 没有针对目标的规则

使用tee时如何将多个外壳命令的输出分配给变量?

在Makefile目标中的命令内分配变量

如何在Makefile中的$(shell)命令中获取变量?

如何使用 shell 脚本将值分配给变量

Makefile 未正确将值分配给变量