Makefile:3:***缺少分隔符.停止

jpe*_*zov 1 linux ssh openssl makefile

我已经尝试了我能做到的事情,在这个问题上找到StackOverflow上的答案.我不相信问题是标签.这是makefile:


#   $OpenBSD: Makefile,v 1.15 2010/02/09 08:55:31 markus Exp $

.include <bsd.own.mk>

SUBDIR= lib ssh sshd ssh-add ssh-keygen ssh-agent scp sftp-server \
    ssh-keysign ssh-keyscan sftp ssh-pkcs11-helper

distribution:
    ${INSTALL} -C -o root -g wheel -m 0644 ${.CURDIR}/ssh_config \
        ${DESTDIR}/etc/ssh/ssh_config
    ${INSTALL} -C -o root -g wheel -m 0644 ${.CURDIR}/sshd_config \
        ${DESTDIR}/etc/ssh/sshd_config

.include <bsd.subdir.mk>
Run Code Online (Sandbox Code Playgroud)

我试图在第3行(问题所在)之前放置一个标签,并出现以下错误:

Makefile:3: *** commands commence before first target.  Stop.
Run Code Online (Sandbox Code Playgroud)

这不是我自己设计的makefile - 它是从这里直接下载的:http: //www.openssh.com/openbsd.html (第一个下载链接)

另外,根据这个问题的另一个答案,我使用了以下命令:

root@server:/usr/src/ssh# cat -e -t -v Makefile
Run Code Online (Sandbox Code Playgroud)

输出如下:

 \#^I$OpenBSD: Makefile,v 1.15 2010/02/09 08:55:31 markus Exp $$ $ .include <bsd.own.mk>$ $ SUBDIR=^Ilib ssh sshd ssh-add ssh-keygen
 ssh-agent scp sftp-server \$ ^Issh-keysign ssh-keyscan sftp
 ssh-pkcs11-helper$ $ distribution:$ ^I${INSTALL} -C -o root -g wheel
 -m 0644 ${.CURDIR}/ssh_config \$ ^I    ${DESTDIR}/etc/ssh/ssh_config$ ^I${INSTALL} -C -o root -g wheel -m 0644 ${.CURDIR}/sshd_config \$ ^I 
 ${DESTDIR}/etc/ssh/sshd_config$ $ .include <bsd.subdir.mk>$
Run Code Online (Sandbox Code Playgroud)

有谁知道可能是什么问题?提前致谢.

Mad*_*ist 9

这个makefile是为BSD编写的make.你正试图用GNU运行它make.他们使用不同的格式.

特别是,该.include命令在GNU中无效make.