Makefile:扩展相对的PREFIX路径

16
在我的Makefile中,有一个名为PREFIX的变量,用于指定完成文件的存放位置。然而,在内部,我需要使用绝对路径的PREFIX,因为工作目录会改变。
我尝试了以下内容:
PREFIX=../out
REALPREFIX=`readlink -f $(PREFIX)`

没有起作用,也不是

default: fixprefix $(addprefix $(REALPREFIX)/,$(OBJS))

fixprefix:
        REALPREFIX=`readlink -f $(PREFIX)`

当计算先决条件列表时,我所需要的就是将绝对路径添加到OBJS前缀。

1个回答

36

如果你正在使用GNUMake,你可以这样做:

REALPREFIX = $(realpath $(PREFIX))

谢谢。不知道为什么提问者使用的原始命令无法工作? - Tim
@Tim:这取决于那个shell中反引号的作用,以及$(PREFIX)是否是一个符号链接。"没有工作"并不是非常有信息性的描述。 - Beta
2
注意:如果您想要扩展的路径尚不存在,可以使用 $(abspath $(PATH)) - alfwatt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接