【问题标题】:Appending to variable in Makefiles for HP-UX make附加到 HP-UX make 的 Makefile 中的变量
【发布时间】:2009-09-09 13:50:20
【问题描述】:

我正在尝试为 HP-UX 的 make 版本的 Makefile 中的变量附加一些文本。

如果我使用“普通”附加程序,像这样:

CFLAGS+=some text

$(CFLAGS) 是空的。

如果我引用变量,像这样:

CFLAGS=$(CFLAGS) some text

make 抱怨“无限递归宏”。

使用这样的临时变量:

CFLAGStmp=$(CFLAGS)
CFLAGS=$(CFLAGStmp) some text

还抱怨“无限递归宏”。

如何在 HP-UX make 的 Makefile 中向变量添加内容?

【问题讨论】:

  • 我无权访问 HP-Make,因此无法进行实验,但我会尝试 1) 摆弄空格,2) 使用简单赋值 := 如果 HP-make 允许它,或者最好的 3) 切换到 GNUmake
  • @Beta 1) 没有帮助。 2) 语法错误。 3) 不是理想的解决方案,但可能只有一个。

标签: makefile hp-ux


【解决方案1】:

不幸的是,这个问题的唯一解决方案似乎是使用GNU make (gmake)。

例子:

$ cat >Makefile
FOO=bar
FOO+=baz

all:
    @echo $(FOO)
^D
$ make
bar baz

【讨论】:

  • 看来我正在运行 GNU Make 3.81。使用 GNU Make 怎么可能?
猜你喜欢
  • 2021-04-07
  • 2016-12-23
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多