简体   繁体   中英

Make Error: Missing Separator

I am attempting to install rexec into Redhat Enterprise Release 4. Everytime I attempt to use the make command I get the following error.

Makefile:15: *** missing separator. Stop.

I have looked elsewhere on the net and line 15 of the Makefile has the below:

.include (I am unsure why but this website is blanking out what comes after .include, it is bsd.kmod.mk surrounded by <>)

I have used vi to make sure that space in the middle is a TAB and not 8 spaces, this does not resolve the issue. I have placed a TAB in front of the .include as I read somewhere there has to be a tab at the beginning, I then get a different error:

make: *** No rule to make target 'rexec.ko' , needed by 'load'. Stop.

I am unsure what else I'm supposed to do to get rexec installed, any clues?

Entire Makefile:

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

KLDLOAD = /sbin/kldload KLDUNLOAD = /sbin/kldunload

load: ${KO} ${KLDLOAD} -v ./${KO}

unload: ${KO} ${KLDUNLOAD} -v -n ${KO}

.include (I am unsure why but this website is blanking out what comes after .include, it is bsd.kmod.mk surrounded by <>)

The .include directive is BSD Make syntax. The default make command on Linux is GNU Make which supports a slightly different syntax.

Also, you won't find bsd.kmod.mk on your RedHat system and you won't have any luck using the BSD kldload command.

Are you sure you downloaded the right thing?

I believe the .include should be using spaces. Check out the last part of the Makefile. It should end like this:

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

.include <bsd.kmod.mk>

Where <tab> is an actual tab character. And that blank line better be blank; no tricksy whitespace on it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM