2014-01-13 125 views
1

我已經嘗試過我能做的,在這個問題上找到StackOverflow上的答案。我不相信這個問題是與標籤。下面是生成文件:Makefile:3:***缺少分隔符。停止


# $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> 

我已嘗試3號線(其中問題)之前把一個標籤,並具有下列錯誤出現:

Makefile:3: *** commands commence before first target. Stop. 

這是不是我自己的設計的makefile - 它直接從這裏下載: http://www.openssh.com/openbsd.html (第一下載鏈接)

此外,根據另一種回答這個問題,我使用下面的命令:

[email protected]:/usr/src/ssh# cat -e -t -v Makefile 

其輸出如下:

\#^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>$ 

有誰知道可能是什麼問題?提前致謝。

+1

你可以在最後重新發布'cat'的結果,並使用代碼格式(每行縮進4個空格)而不是blockquotes('>'在每行前面)? blockquote版本全部被破壞。 –

+0

@JohnKugelman我繼續並刪除了'>'。如果你的問題出現的時候只有5行,那麼應該有更多,輸出實際上就是這樣。 – jperezov

回答

7

這個makefile是爲BSD make編寫的。你正試圖用GNU make來運行它。他們使用不同的格式。

特別是,.include命令在GNU make中無效。

+0

謝謝。這看起來是正確的。 user2931171的確提供瞭解決問題的辦法,而不僅僅是一個解釋。我不知道在這裏選擇答案的正確禮節 - 你確實回答了我的問題,但他提供了更恰當地解決我需求的信息。 – jperezov

1

既然你已經用「linux」標記了你的問題,我假設你使用的是Linux而不是OpenBSD。您希望用於Linux的ssh版本是便攜版本,但您似乎下載了OpenBSD特有版本。嘗試http://www.openssh.com/portable.html。有關OpenBSD /便攜式拆分版本的詳細信息,請參閱openssh首頁。

+0

感謝您提供指向Linux兼容版本的鏈接。你是正確的,我下載了錯誤的文件。 – jperezov

相關問題