shell - 在 Makefile 中做简单的数学运算

标签 shell makefile

我需要在 Makefile 中做一些简单的数学运算,但不知道如何做。在 shell 脚本中,我会这样做:

A=1
B=2
C=$[$A+$B]

但是我怎样才能在 Makefile 中做到这一点呢?让我们以此为基础:

A=1
B=2
C=$(A)+$(B)

all:
        @echo 'A is $(A)'
        @echo 'B is $(B)'
        @echo 'C is $(C)'

自然这会输出 C is 1+2。我如何重写变量 C 的定义,以便 Makefile 输出 C is 3

最佳答案

在 shell 中使用 "$(())"

all:
        @echo C is $$(($(C)))

一年后编辑:

我不知道您需要在 Makefile 中使用 $C 的最终值。 (你刚刚表明它只在 Makefile 中的 shell 脚本中使用,或者我犯了错误)你只需要将我的代码移动到 $C 的定义中:

C=$(shell echo $$(($A+$B)))

关于shell - 在 Makefile 中做简单的数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5776608/

相关文章:

bash - 使 xargs 在 Cygwin 中工作

windows - Git pull 无法更新本地引用

linux - 如何要求用户输入,这应该是必需的

c++ - 使用 make 和 gcc 编译和链接来自不同目录的源代码

linux - 如何修复错误 : bad value (native) for -march= switch and -mtune= switch?

linux - 在同一个 shell (bash) 中运行脚本

macos - 如何在没有管理员访问权限或使用 Xcode 的情况下在 Mac 上安装 GCC 和 make?

c - 为什么我得到的是 Make : Circular Dependency Dropped warning?

c - 编译时未定义对 `dgesv_' 的引用

linux - 使用 bash 中的查找重命名多个级别的目录