Makefile.inc revision 1.6
1# $OpenBSD: Makefile.inc,v 1.6 2017/08/20 17:53:13 espie Exp $
2
3# i386-specific libcrypto build rules
4
5# all i386 code generators use these
6EXTRA_PL =  ${LCRYPTO_SRC}/perlasm/x86gas.pl ${LCRYPTO_SRC}/perlasm/x86asm.pl
7
8# aes
9CFLAGS+= -DAES_ASM
10SSLASM+= aes aes-586
11CFLAGS+= -DVPAES_ASM
12SSLASM+= aes vpaes-x86
13SSLASM+= aes aesni-x86
14# bf
15SRCS+= bf_cbc.c	
16SSLASM+= bf bf-586
17# bn
18CFLAGS+= -DOPENSSL_IA32_SSE2
19CFLAGS+= -DOPENSSL_BN_ASM_PART_WORDS
20SSLASM+= bn bn-586
21SSLASM+= bn co-586
22CFLAGS+= -DOPENSSL_BN_ASM_MONT
23SSLASM+= bn x86-mont
24CFLAGS+= -DOPENSSL_BN_ASM_GF2m
25SSLASM+= bn x86-gf2m
26# camellia
27SSLASM+= camellia cmll-x86
28# des
29SRCS+= fcrypt_b.c
30SSLASM+= des des-586
31# # ec
32# CFLAGS+= -DECP_NISTZ256_ASM
33# SRCS+=	ecp_nistz256.c
34# SSLASM+= ec ecp_nistz256-x86
35# md5
36CFLAGS+= -DMD5_ASM
37SSLASM+= md5 md5-586
38# modes
39CFLAGS+= -DGHASH_ASM
40SSLASM+= modes ghash-x86
41# rc4
42SSLASM+= rc4 rc4-586
43# ripemd
44CFLAGS+= -DRMD160_ASM
45SSLASM+= ripemd rmd-586
46# sha
47CFLAGS+= -DSHA1_ASM
48SSLASM+= sha sha1-586
49CFLAGS+= -DSHA256_ASM
50SSLASM+= sha sha256-586
51CFLAGS+= -DSHA512_ASM
52SSLASM+= sha sha512-586
53# whrlpool
54SRCS+= wp_block.c
55CFLAGS+= -DWHIRLPOOL_ASM
56SSLASM+= whrlpool wp-mmx
57
58.for dir f in ${SSLASM}
59SRCS+=	${f}.S
60GENERATED+=${f}.S
61${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl ${EXTRA_PL}
62	/usr/bin/perl -I${LCRYPTO_SRC}/perlasm -I${LCRYPTO_SRC}/${dir}/asm \
63		${LCRYPTO_SRC}/${dir}/asm/${f}.pl \
64		    openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}
65.endfor
66
67CFLAGS+= -DOPENSSL_CPUID_OBJ
68SRCS+=	x86cpuid.S
69GENERATED+=x86cpuid.S
70
71x86cpuid.S: ${LCRYPTO_SRC}/x86cpuid.pl ${EXTRA_PL}
72	/usr/bin/perl -I${LCRYPTO_SRC}/perlasm ${LCRYPTO_SRC}/x86cpuid.pl \
73		openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}
74