Makefile:649:***缺少分隔符。停止

时间:2018-05-31 18:22:10

标签: linux ubuntu makefile ubuntu-18.04

我已经阅读了所有与我似乎有同样错误的答案。在实现了建议的地方或那里添加选项卡并检查空格的解决方案后,我似乎无法使makefile正常工作。

这来自MDM显示管理器的makefile(https://github.com/linuxmint/mdm),通过运行我的机器进行配置:

./authogen.sh --with-prefetch
./configure

现在我在make

上失败了

以下是我遇到问题的makefile示例: 此代码示例是在vim中加载后运行:set list以查看选项卡的示例,如前面另一个makefile中缺少的分隔符问题所述。

据说第649行发生错误。

635 $
636 cscopelist-am: $(am__tagged_files)$
637 ^Ilist='$(am__tagged_files)'; \$
638 ^Icase "$(srcdir)" in \$
639 ^I  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \$
640 ^I  *) sdir=$(subdir)/$(srcdir) ;; \$
641 ^Iesac; \$
642 ^Ifor i in $$list; do \$
643 ^I  if test -f "$$i"; then \$
644 ^I    echo "$(subdir)/$$i"; \$
645 ^I  else \$
646 ^I    echo "$$sdir/$$i"; \$
647 ^I  fi; \$
648 ^Idone >> $(top_builddir)/cscope.files$
649 $
650 distclean-tags: $
651 ^I-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags$
652 ^I-rm -f cscope.out cscope.in.out cscope.po.out cscope.files$
653 $
654 distdir: $(DISTFILES)$

2 个答案:

答案 0 :(得分:1)

  

Makefile:649:***缺少分隔符。停止

make[2]: Entering directory '/home/knudfl/tmp/mdm/docs'
Makefile:651: *** missing separator.  Stop.

mdm中有大量的Makefile。从

编辑mdm / docs / Makefile
.PRECIOUS: Makefile

@YELP_HELP_RULES@

....分隔符为[TAB],而不是8倍空格:编辑为... [TAB]@YELP_HELP_RULES@

.PRECIOUS: Makefile

    @YELP_HELP_RULES@

编辑:请参阅@Arkadiusz Drabczyk的答案

答案 1 :(得分:1)

您需要在运行yelp-tools之前安装./autogen.sh。做完之后 您会注意到@YELP_HELP_RULES@中的docs/Makefile只是一个占位符 应该扩大。