相关疑难解决方法(0)

是否可以在Makefile中创建多行字符串变量

我想创建一个多行字符串的makefile变量(例如电子邮件发布公告的正文).就像是

ANNOUNCE_BODY="
Version $(VERSION) of $(PACKAGE_NAME) has been released

It can be downloaded from $(DOWNLOAD_URL)

etc, etc"
Run Code Online (Sandbox Code Playgroud)

但我似乎找不到办法做到这一点.可能吗?

variables makefile

110
推荐指数
5
解决办法
6万
查看次数

在 Makefile 配方中使用 eval 设置变量

我正在查看另一个堆栈溢出问题,他们正在使用看起来像是 makefile 的未记录行为...如果我有以下 Makefile:

X=X 

all:
    @echo $@: $(X)
    $(eval X=Y)
    @echo $@ part2: $(X)

all2:
    @echo $@: $(X)
Run Code Online (Sandbox Code Playgroud)

然后我运行:

~> make all2
all2: X
~> make all all2
running all
all: X
all part2: Y
all2: Y
Run Code Online (Sandbox Code Playgroud)

我本来希望$(eval X=Y)在 Makefile 解析时展开,并将shell变量设置XY配方的该行(即什么都不做)。相反,它似乎在运行配方时进行评估all,另外,它似乎设置了 make 变量。我浏览了 make 手册页和在线手册,但找不到任何描述此行为的内容(我正在使用 GNU Make 4.0)。有人可以向我指出一些描述这一点的文档,或者解释一下发生了什么吗?

makefile eval

2
推荐指数
1
解决办法
6579
查看次数

标签 统计

makefile ×2

eval ×1

variables ×1