Index: secure/Makefile.inc
===================================================================
--- secure/Makefile.inc
+++ secure/Makefile.inc
@@ -1,15 +1,9 @@
 # $FreeBSD$
 
-.include <src.opts.mk>
-
 .if exists(${.CURDIR:H:H}/lib/libcrypt/obj)
 CRYPTOBJDIR=	${.CURDIR:H:H}/lib/libcrypt/obj
 .else
 CRYPTOBJDIR=	${.CURDIR:H:H}/lib/libcrypt
 .endif
 
-.if ${MK_OPENSSH} != "no"
-SSHDIR=		${SRCTOP}/crypto/openssh
-.endif
-
 WARNS?=		0
Index: secure/lib/libssh/Makefile
===================================================================
--- secure/lib/libssh/Makefile
+++ secure/lib/libssh/Makefile
@@ -1,6 +1,7 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 LIB=	ssh
 PRIVATELIB=	true
@@ -50,9 +51,6 @@
 LIBADD+=	ldns
 .endif
 
-CFLAGS+= -I${SSHDIR} -include ssh_namespace.h
-SRCS+=	 ssh_namespace.h
-
 .if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
 CFLAGS+= -include krb5_config.h
 SRCS+=	 krb5_config.h
Index: secure/libexec/sftp-server/Makefile
===================================================================
--- secure/libexec/sftp-server/Makefile
+++ secure/libexec/sftp-server/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=   sftp-server
 SRCS=   sftp-server.c sftp-common.c sftp-server-main.c
 MAN=	sftp-server.8
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/libexec/ssh-keysign/Makefile
===================================================================
--- secure/libexec/ssh-keysign/Makefile
+++ secure/libexec/ssh-keysign/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-keysign
 SRCS=	ssh-keysign.c readconf.c uidswap.c
 MAN=	ssh-keysign.8
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 BINMODE=4555
 
 LIBADD=	ssh
Index: secure/libexec/ssh-pkcs11-helper/Makefile
===================================================================
--- secure/libexec/ssh-pkcs11-helper/Makefile
+++ secure/libexec/ssh-pkcs11-helper/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-pkcs11-helper
 SRCS=	ssh-pkcs11.c ssh-pkcs11-helper.c
 MAN=	ssh-pkcs11-helper.8
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/ssh.mk
===================================================================
--- /dev/null
+++ secure/ssh.mk
@@ -0,0 +1,6 @@
+# Common Make variables for OpenSSH
+
+SSHDIR=		${SRCTOP}/crypto/openssh
+
+CFLAGS+= -I${SSHDIR} -include ssh_namespace.h
+SRCS+=	 ssh_namespace.h
Index: secure/usr.bin/scp/Makefile
===================================================================
--- secure/usr.bin/scp/Makefile
+++ secure/usr.bin/scp/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	scp
 SRCS=	scp.c sftp-common.c sftp-client.c sftp-glob.c progressmeter.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/usr.bin/sftp/Makefile
===================================================================
--- secure/usr.bin/sftp/Makefile
+++ secure/usr.bin/sftp/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	sftp
 SRCS=   sftp.c sftp-client.c sftp-common.c sftp-glob.c progressmeter.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh edit
 
Index: secure/usr.bin/ssh-add/Makefile
===================================================================
--- secure/usr.bin/ssh-add/Makefile
+++ secure/usr.bin/ssh-add/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-add
 SRCS+=	ssh-add.c ssh-sk-client.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/usr.bin/ssh-agent/Makefile
===================================================================
--- secure/usr.bin/ssh-agent/Makefile
+++ secure/usr.bin/ssh-agent/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-agent
 SRCS=	ssh-agent.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/usr.bin/ssh-keygen/Makefile
===================================================================
--- secure/usr.bin/ssh-keygen/Makefile
+++ secure/usr.bin/ssh-keygen/Makefile
@@ -1,13 +1,12 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-keygen
 # XXX ssh-sk-client.c in libssh maybe?
 SRCS=	ssh-keygen.c sshsig.c ssh-sk-client.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/usr.bin/ssh-keyscan/Makefile
===================================================================
--- secure/usr.bin/ssh-keyscan/Makefile
+++ secure/usr.bin/ssh-keyscan/Makefile
@@ -1,12 +1,11 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 PROG=	ssh-keyscan
 SRCS=	ssh-keyscan.c
 PACKAGE=	ssh
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 LIBADD=	ssh
 
Index: secure/usr.bin/ssh/Makefile
===================================================================
--- secure/usr.bin/ssh/Makefile
+++ secure/usr.bin/ssh/Makefile
@@ -1,6 +1,7 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 CONFS=	ssh_config
 CONFSDIR=	/etc/ssh
@@ -16,9 +17,6 @@
 # gss-genr.c really belongs in libssh; see src/secure/lib/libssh/Makefile
 SRCS+=	gss-genr.c
 
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
-
 LIBADD=	ssh
 
 .if ${MK_LDNS} != "no"
Index: secure/usr.sbin/sshd/Makefile
===================================================================
--- secure/usr.sbin/sshd/Makefile
+++ secure/usr.sbin/sshd/Makefile
@@ -1,6 +1,7 @@
 # $FreeBSD$
 
 .include <src.opts.mk>
+.include "${SRCTOP}/secure/ssh.mk"
 
 CONFS=	moduli sshd_config
 CONFSDIR=	/etc/ssh
@@ -25,8 +26,6 @@
 SRCS+=	gss-genr.c
 
 MAN=	sshd.8 sshd_config.5
-CFLAGS+=-I${SSHDIR} -include ssh_namespace.h
-SRCS+=	ssh_namespace.h
 
 # Don't rebuild based on moduli.c
 moduli: .MADE