gpt4 book ai didi

c - 将变量从终端传递到 makefile

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:54 25 4
gpt4 key购买 nike

我是 Linux Mint 的新手,想知道是否可以在我的 make 文件中创建一个变量,然后当我调用函数时(不确定你会在这里调用它),例如运行或全部这个变量。我基本上想做的是从终端我想做这样的事情:

make open(variable)

然后将该变量传递到 makefile 中,类似于:

all:

vim $(filename)

将接收它并在 Vim 中打开文件。

最佳答案

在您的 vim 示例中,您需要:

make all filename=the-file.txt

请注意,假设 all 是您的 Makefile 中的第一个目标,则可以省略它。基本上语法是 variable=value

下面的 Makefile 可以更好地证明这一点:

echo:
echo $(MY_ECHO)

如果您这样做:使 MY_ECHO=hello 变量 MY_ECHO 将是字符串 hello

指定一个或多个目标的方式与不使用变量时的方式相同,您只需要确保 variable=value 没有任何空格,以便知道它是否是变量或目标。例如,如果您这样做:

make MY_ECHO= asdf

你会得到错误:

make: *** No rule to make target 'asdf'.  Stop.

因为 make 会认为 asdf 是一个目标。如果你想使用一个带空格的值,你需要用引号将它括起来:

make MY_ECHO="hello world"

关于c - 将变量从终端传递到 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com