Makefile.inc revision 1.7
1# $OpenBSD: Makefile.inc,v 1.7 2023/01/14 15:45:43 jsing 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# md5
32CFLAGS+= -DMD5_ASM
33SSLASM+= md5 md5-586
34# modes
35CFLAGS+= -DGHASH_ASM
36SSLASM+= modes ghash-x86
37# rc4
38SSLASM+= rc4 rc4-586
39# ripemd
40CFLAGS+= -DRMD160_ASM
41SSLASM+= ripemd rmd-586
42# sha
43CFLAGS+= -DSHA1_ASM
44SSLASM+= sha sha1-586
45CFLAGS+= -DSHA256_ASM
46SSLASM+= sha sha256-586
47CFLAGS+= -DSHA512_ASM
48SSLASM+= sha sha512-586
49# whrlpool
50SRCS+= wp_block.c
51CFLAGS+= -DWHIRLPOOL_ASM
52SSLASM+= whrlpool wp-mmx
53
54.for dir f in ${SSLASM}
55SRCS+=	${f}.S
56GENERATED+=${f}.S
57${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl ${EXTRA_PL}
58	/usr/bin/perl -I${LCRYPTO_SRC}/perlasm -I${LCRYPTO_SRC}/${dir}/asm \
59		${LCRYPTO_SRC}/${dir}/asm/${f}.pl \
60		    openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}
61.endfor
62
63CFLAGS+= -DOPENSSL_CPUID_OBJ
64SRCS+=	x86cpuid.S
65GENERATED+=x86cpuid.S
66
67x86cpuid.S: ${LCRYPTO_SRC}/x86cpuid.pl ${EXTRA_PL}
68	/usr/bin/perl -I${LCRYPTO_SRC}/perlasm ${LCRYPTO_SRC}/x86cpuid.pl \
69		openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}
70