makefile缺少分隔符选项卡

时间:2017-10-12 20:53:52

标签: makefile dns bind

我试图制作' BIND DNS服务器。
我使用命令RegDBKeyExist,我收到错误:
make -f Makefile.in
我在AntiX Linux(基于Debian测试)和Ubuntu上都尝试过 我尝试了BIND的版本9.11.2,9.10.6和9.9.11 我使用键盘布局QWERTY US UTF8(但我没有编辑Makefile.in)。

Makefile.in:32: *** missing separator (did you mean TAB instead of 8 Spaces?). Stop.的第32行,有: Makefile.in
我之前从未见过这样的台词(我是#' make')。 这可能是由空格字符替换的指令并导致问题吗?

我知道有几个这样的问题,这些问题都是关闭或关闭的主题,但是一些答案会受到赞赏,或者可能是你可以告诉我这个问题应该在哪里提出?

2 个答案:

答案 0 :(得分:2)

您不能将Makefile.in用作makefile。它不是一个makefile。它是makefile的模板,必须首先将其转换为真正的makefile,称为Makefile(no .in)。

您应该阅读源代码发布中的INSTALLREADME文件,以了解如何构建它。我没有尝试构建BIND(在非常非常长的时间内)但很可能它附带了一个必须先运行的configure脚本。该脚本将为您创建Makefile。然后运行make(没有任何-f ...标志)。

答案 1 :(得分:1)

由MadScientist更正:

Makefile.inautoconf和朋友使用的模板文件。具体来说,autoconf需要configure.in个文件来生成configure脚本。然后,此脚本需要Makefile.in并修改它以创建Makefile。您找到的是此过程的标记。您可以找到更多信息here