summaryrefslogtreecommitdiffstats
path: root/lib/libcrypt/Makefile
blob: 2a59b3b2b8c7a5d7ce8b0fbfc1eba3344c2424bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#
# $FreeBSD$
#

PACKAGE=lib${LIB}
SHLIBDIR?=	/lib

.include <src.opts.mk>

SHLIB_MAJOR=	5
LIB=		crypt

.PATH:		${.CURDIR}/../libmd ${.CURDIR}/../../sys/crypto/sha2 ${.CURDIR}/../../sys/crypto/skein
SRCS=		crypt.c misc.c \
		crypt-md5.c md5c.c \
		crypt-nthash.c md4c.c \
		crypt-sha256.c sha256c.c \
		crypt-sha512.c sha512c.c \
		skein.c skein_block.c
MAN=		crypt.3
MLINKS=		crypt.3 crypt_get_format.3 crypt.3 crypt_set_format.3
CFLAGS+=	-I${.CURDIR}/../libmd -I${.CURDIR}/../libutil \
		-I${.CURDIR}/../../sys/crypto/sha2 -I${.CURDIR}/../../sys/crypto/skein

# Use assembly optimized skein if available
.if exists(${MACHINE_ARCH}/skein_block_asm.s)
.PATH:  ${.CURDIR}/../../sys/crypto/skein/${MACHINE_ARCH}
SRCS	+= skein_block_asm.s
CFLAGS	+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792
ACFLAGS	+= -DELF -Wa,--noexecstack
.endif

# Pull in the strong crypto, if it is present.
.if exists(${.CURDIR}/../../secure/lib/libcrypt) && ${MK_CRYPT} != "no"
.PATH:		${.CURDIR}/../../secure/lib/libcrypt
SRCS+=		crypt-des.c crypt-blowfish.c blowfish.c
CFLAGS+=	-I${.CURDIR} -DHAS_DES -DHAS_BLOWFISH
.endif

.for sym in MD4Init MD4Final MD4Update MD4Pad \
	    MD5Init MD5Final MD5Update MD5Pad \
	    SHA256_Init SHA256_Final SHA256_Update \
	    SHA512_224_Init SHA512_224_Final SHA512_224_Update \
	    SHA512_256_Init SHA512_256_Final SHA512_256_Update \
	    SHA384_Init SHA384_Final SHA384_Update \
	    SHA512_Init SHA512_Final SHA512_Update \
	    SKEIN256_Init SKEIN256_Final SKEIN256_Update \
	    SKEIN512_Init SKEIN512_Final SKEIN512_Update \
	    SKEIN1024_Init SKEIN1024_Final SKEIN1024_Update
CFLAGS+=	-D${sym}=__${sym}
.endfor

WARNS?=		2

PRECIOUSLIB=

.if ${MK_TESTS} != "no"
SUBDIR+=	tests
.endif

.include <bsd.lib.mk>
.include <bsd.subdir.mk>
OpenPOWER on IntegriCloud