我需要在 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/