我是 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/