在 Makefile 中设置先前通过包含文件设置的变量的值

问题描述 投票:0回答:0

我有一个包含

Makefile
文件的
.env
,这个
.env
设置了一些变量的默认值。默认变量之一具有文件的相对路径。在 Makefile 中,我想获得完整路径,因为这个变量可以通过命令行传递(因此,绕过 .env 的值),我想确保我已经将它用作完整路径。

我尝试了什么:

.env 文件

FILE := relative/path/to/file

Makefile文件

include .env
export

FILE := $(shell realpath $(FILE))

.PHONY: sometarget
sometarget:
    @echo "FILE = $(FILE)"

我也尝试过将赋值运算符替换为

=
?=
等,都失败了

我希望将 FILE 实现为 /full/path/to/file.

编辑:

已更新以将示例目标添加到

Makefile
以用作示例。

此外,我了解到实际上问题是通过命令行传递值时,例如

make FILE=relative
。在这种特殊情况下,当我期望它的完整路径时,我得到的只是“相对”作为输出。这是我的主要问题。

makefile gnu-make
© www.soinside.com 2019 - 2024. All rights reserved.