用于缩进 Make 文件规则配方的字符是什么?

gol*_*ean 3 gnu make

我正在使用 gnu make 并且在我拥有的 Makefile 中,我看到以下规则。我想在食谱中添加类似的规则,但是当我通过为食谱提供选项卡或空格在下一行添加规则及其食谱时,我会出错。

dummy :
    @echo $(OBJS)
Run Code Online (Sandbox Code Playgroud)

当我打开 vim 命令 :set list 时,我看到:

dummy :$
^I@echo $(OBJS)$
Run Code Online (Sandbox Code Playgroud)

从行首缩进的配方行(第二行)之前的字符究竟是什么?

如何使用键盘输入它们(无需复制粘贴现有规则然后修改它?

我在哪里可以找到用于从头开始创建 Makefile 的各种空格/缩进的信息(不是 automake/或其他工具创建的 makefile)?

DMA*_*361 9

生成文件中的接收必须以单个标准tab字符开头,没有别的。

^I是制表符的表示(参见维基百科ASCII页面上的表格),因此这应该是正确的。

因此,您应该能够使用TabCtrl+输入它I
(假设这些没有被软件重新映射)


编辑

在进一步调查中,您似乎可以通过设置.RECIPEPREFIX 特殊变量更改选项卡中所有配方行之前所需的字符。

如果此值已在您的 makefile 中定义,则定义的所有配方都必须使用该字符而不是制表符。