我正在尝试将rexec安装到Redhat Enterprise Release 4中。每当我尝试使用make命令时,我都会收到以下错误。
Makefile:15:***缺少分隔符。停止。
我在网上的其他地方看过,Makefile的第15行有以下内容:
.include(我不确定为什么,但这个网站正在消除后面的内容。包括,它是由<>包围的bsd.kmod.mk)
我已经使用vi来确保中间的空间是TAB而不是8个空格,这不能解决问题。我已经在.include前放置了一个TAB,因为我在某处开始时必须有一个标签,然后我得到一个不同的错误:
make:***没有规则来制作'load'所需的目标'rexec.ko'。停止。
我不确定我应该做些什么才能安装rexec,任何线索?
整个Makefile:
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(我不确定为什么,但这个网站正在消除后面的内容。包括,它是由<>包围的bsd.kmod.mk)
答案 0 :(得分:3)
.include
指令是BSD Make语法。 Linux上的默认make
命令是GNU Make,它支持稍微不同的语法。
此外,您在RedHat系统上找不到bsd.kmod.mk
,并且使用BSD kldload
命令也没有运气。
你确定你下载了正确的东西吗?
答案 1 :(得分:0)
我相信.include应该使用空格。查看Makefile的最后一部分。它应该像这样结束:
unload: ${KO}
<tab>${KLDUNLOAD} -v -n ${KO}
.include <bsd.kmod.mk>
其中&lt; tab&gt;是一个实际的制表符。那个空白行最好是空白;没有棘手的空白。