当前位置: 首页 > article >正文

Linux: shell: bash: Makefile:5: *** missing separator. Stop.

如果从网上找这个的原因可能会找到一堆
https://til.linyiru.com/2018/04/make/missing-separator/

但是如果真的要看原因,就需要看make的文档或者是源代码。
比如源代码里有这么一段:

@item missing separator.  Stop.
@itemx missing separator (did you mean TAB instead of 8 spaces?).  Stop.
This means that @code{make} could not understand much of anything
about the makefile line it just read.  GNU @code{make} looks for
various separators (@code{:}, @code{=}, recipe prefix characters,
etc.) to indicate what kind of line it's parsing.  This message means
it couldn't find a valid one.

#: src/read.c:1154
#, c-format
msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "分隔符缺失 (你大概想用 TAB,而不是八个空格)"

#: src/read.c:1156
#, c-format
msgid "missing separator"
msgstr "缺失分隔符"

源代码,如果一行的开始多几个空格,就可能导致make读到EOL。因为前几个都是无意义的字符:空格。

        /* If the word we're looking at is EOL, see if there's _anything_
           on the line.  If not, a variable expanded to nothing, so ignore
           it.  If so, we can't parse this line so punt.  */
        if (wtype == w_eol)
          {
            if (*p2 == '\0')
              continue;

            /* There's no need to be ivory-tower about this: check for
               one of the most common bugs found in makefiles...  */
            if (cmd_prefix == '\t' && strneq (line, "        ", 8))
              O (fatal, fstart, _("missing separator (did you mean TAB instead of 8 spaces?)"));
            else
              O (fatal, fstart, _("missing separator"));
          }

http://www.kler.cn/a/427925.html

相关文章:

  • 过期策略、内存淘汰机制
  • 深入浅出:使用 Gin 框架生成 API 文档
  • 算法日记 41 day 图论
  • Mysql数据库指令(持续积累)
  • STM32移植文件系统(FatFs)
  • 3D数据大屏实现过程,使用echarts、Next.js
  • IS-IS三
  • 在 Ubuntu 中解决 Python 程序中 DataFrame 图表中文乱码问题
  • LabVIEW调用Thorlabs的动态库进行开发
  • 【精选】AI Coding 新范式:Windsurf、Cursor、Coze齐上阵
  • 兔子的寿命有多长?
  • 数据库-mysql(基本语句)
  • 四十一:Web传递消息时的编码格式
  • Scala中条件守卫
  • 基于Matlab特征提取与浅层神经网络的数字图像处理乳腺癌检测系统(GUI界面+训练代码+数据集)
  • 架构07-从类库到服务
  • 最优质量运输概述(自用)——一、蒙日问题、Kantorovich问题
  • 数据结构 ——无头单链表
  • 装饰器—购物打折
  • 数据结构基础之《(11)—堆》