Makefile 生成错误:缺少分隔符

Makefile 生成错误:缺少分隔符,makefile,rexec,Makefile,Rexec,我正在尝试将rexec安装到Redhat Enterprise版本4中。每次尝试使用make命令时,都会出现以下错误 Makefile:15:**缺少分隔符。停下来 我在网上的其他地方查看过,Makefile的第15行有以下内容: .include(我不确定为什么,但这个网站正在删除后面的内容。include,它是bsd.kmod.mk,被 我使用VI来确保中间的空间是一个标签,而不是8个空间,这不能解决这个问题。我已在前面放置了一个选项卡。当我在某个地方读到开头必须有一个选项卡时,我得到一个不

我正在尝试将rexec安装到Redhat Enterprise版本4中。每次尝试使用make命令时,都会出现以下错误

Makefile:15:**缺少分隔符。停下来

我在网上的其他地方查看过,Makefile的第15行有以下内容:

.include(我不确定为什么,但这个网站正在删除后面的内容。include,它是bsd.kmod.mk,被

我使用VI来确保中间的空间是一个标签,而不是8个空间,这不能解决这个问题。我已在前面放置了一个选项卡。当我在某个地方读到开头必须有一个选项卡时,我得到一个不同的错误:

make:**没有规则将目标设置为“rexec.ko”,这是“load”所需的。停下来

我不确定我还应该做些什么来安装rexec,有什么线索吗

整个生成文件:

SRCS=rexec.c vnode_if.h KMOD=rexec KO=${KMOD}.KO KLDMOD=t

KLDLOAD=/sbin/KLDLOAD KLDUNLOAD=/sbin/KLDUNLOAD

加载:${KO} ${KLDLOAD}-v./${KO}

卸载:${KO} ${KLDUNLOAD}-v-n${KO}


.include(我不确定为什么,但这个网站正在删除后面的内容。include,它被包围着)

我认为.include应该使用空格。查看Makefile的最后一部分。它应该是这样结束的:

unload: ${KO}
<tab>${KLDUNLOAD} -v -n ${KO}

.include <bsd.kmod.mk>
unload:${KO}
${KLDUNLOAD}-v-n${KO}
.包括

其中是实际的制表符。空白行最好是空白的;上面没有难懂的空格。

include指令是BSD Make语法。Linux上默认的
make
命令是GNU make,它支持稍微不同的语法

另外,在RedHat系统上找不到
bsd.kmod.mk
,使用bsd
kldload
命令也不会有任何运气


您确定下载的内容正确吗?

您使用的是什么“make”,即“make--version”的输出是什么?顺便说一句,通常您需要通过书写而不是该字符来转义一个开口角括号。类似地,需要将符号(&)转义为&;。make--版本的输出是GNU make 3.80I从这里下载了1.1和5.0版本:哦,不,我不确定我下载的东西是否正确,我还是个新手。嗯,这是一个FreeBSD内核模块,所以你不能在RedHat Linux上使用它。您可能正在寻找包含rexec并且可以作为RHEL包使用的rsh。当我查看文件时,${KLDUNLOAD}-v-n${KO}之前的空间是一个选项卡,我应该在其中键入一个字符吗?如果这就是问题所在,我会感到困惑,因为它一直在抱怨第15行.include的位置。我能说的是,这里有一个空行,再次使用VI。没有字符要添加,只是想检查它是一个标签。问题只是想找出一种显示空白的方法,这就是为什么让空白变得如此邪恶。我只是根据先前的错误破坏了.include的可能性进行猜测。但我认为@Maxi在BSD和GNU的情况下是正确的。