xref: /freebsd/secure/lib/libssh/Makefile (revision 7431dfd4580e850375fe5478d92ec770344db098)
1# $FreeBSD$
2
3.include <src.opts.mk>
4
5LIB=	ssh
6PRIVATELIB=	true
7SHLIB_MAJOR=	5
8SRCS=	authfd.c authfile.c bufaux.c bufbn.c buffer.c \
9	canohost.c channels.c cipher.c cipher-aes.c \
10	cipher-bf1.c cipher-ctr.c cipher-3des1.c cleanup.c \
11	compat.c compress.c crc32.c deattack.c fatal.c hostfile.c \
12	log.c match.c md-sha256.c moduli.c nchan.c packet.c \
13	readpass.c rsa.c ttymodes.c xmalloc.c addrmatch.c \
14	atomicio.c key.c dispatch.c kex.c mac.c uidswap.c uuencode.c misc.c \
15	monitor_fdpass.c rijndael.c ssh-dss.c ssh-ecdsa.c ssh-rsa.c dh.c \
16	kexdh.c kexgex.c kexdhc.c kexgexc.c bufec.c kexecdh.c kexecdhc.c \
17	msg.c progressmeter.c dns.c entropy.c umac.c umac128.c \
18	ssh-pkcs11.c krl.c smult_curve25519_ref.c \
19	kexc25519.c kexc25519c.c poly1305.c chacha.c cipher-chachapoly.c \
20	ssh-ed25519.c digest-openssl.c hmac.c \
21	sc25519.c ge25519.c fe25519.c ed25519.c verify.c hash.c blocks.c
22
23# gss-genr.c should be in $SRCS but causes linking problems, so it is
24# compiled directly into sshd instead.
25
26# Portability layer
27SRCS+=	bcrypt_pbkdf.c blowfish.c bsd-misc.c explicit_bzero.c fmt_scaled.c \
28	glob.c openssl-compat.c port-tun.c strtonum.c timingsafe_bcmp.c \
29	vis.c xcrypt.c xmmap.c
30
31.if ${MK_LDNS} == "no"
32SRCS+=	getrrsetbyname.c
33.else
34LDNSDIR=	${.CURDIR}/../../../contrib/ldns
35CFLAGS+=	-DHAVE_LDNS=1 -I${LDNSDIR}
36SRCS+=	getrrsetbyname-ldns.c
37DPADD+=	${LIBLDNS}
38LDADD+=	${LDLDNS}
39USEPRIVATELIB+= ldns
40.endif
41
42CFLAGS+= -I${SSHDIR} -include ssh_namespace.h
43
44.if ${MK_KERBEROS_SUPPORT} != "no"
45CFLAGS+= -include krb5_config.h
46DPADD+=	${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBASN1} ${LIBCOM_ERR} ${LIBMD} ${LIBROKEN}
47LDADD+=	-lgssapi -lkrb5 -lhx509 -lasn1 -lcom_err -lmd -lroken
48.endif
49
50.if ${MK_OPENSSH_NONE_CIPHER} != "no"
51CFLAGS+= -DNONE_CIPHER_ENABLED
52.endif
53
54NO_LINT=
55
56DPADD+=	${LIBCRYPTO} ${LIBCRYPT} ${LIBZ}
57LDADD+=	-lcrypto -lcrypt -lz
58
59.include <bsd.lib.mk>
60
61.PATH: ${SSHDIR} ${SSHDIR}/openbsd-compat
62
63${OBJS} ${POBJS} ${SOBJS}: ssh_namespace.h
64.if ${MK_KERBEROS_SUPPORT} != "no"
65${OBJS} ${POBJS} ${SOBJS}: krb5_config.h
66.endif
67