195967Speter# $FreeBSD$
2238405Sjkim# Use this to help generate the asm *.[Ss] files after an import.  It is not
395967Speter# perfect by any means, but does what is needed.
495967Speter# Do a 'make -f Makefile.asm all' and it will generate *.s.  Move them
5127326Smarkm# to the i386 subdir, and correct any exposed paths and $ FreeBSD $ tags.
695967Speter
795967Speter.include "Makefile.inc"
895967Speter
9238405Sjkim.if ${MACHINE_CPUARCH} == "amd64"
10106538Sobrien
11238405Sjkim.PATH:	${LCRYPTO_SRC}/crypto \
12238405Sjkim	${LCRYPTO_SRC}/crypto/aes/asm \
13238405Sjkim	${LCRYPTO_SRC}/crypto/bn/asm \
14238405Sjkim	${LCRYPTO_SRC}/crypto/camellia/asm \
15238405Sjkim	${LCRYPTO_SRC}/crypto/md5/asm \
16238405Sjkim	${LCRYPTO_SRC}/crypto/modes/asm \
17238405Sjkim	${LCRYPTO_SRC}/crypto/rc4/asm \
18238405Sjkim	${LCRYPTO_SRC}/crypto/rc5/asm \
19238405Sjkim	${LCRYPTO_SRC}/crypto/sha/asm \
20238405Sjkim	${LCRYPTO_SRC}/crypto/whrlpool/asm
21238405Sjkim
22238405Sjkim# aes
23238405SjkimSRCS=	aes-x86_64.pl aesni-sha1-x86_64.pl aesni-x86_64.pl bsaes-x86_64.pl \
24238405Sjkim	vpaes-x86_64.pl
25238405Sjkim
26238405Sjkim# bn
27238405SjkimSRCS+=	modexp512-x86_64.pl x86_64-gf2m.pl x86_64-mont.pl x86_64-mont5.pl
28238405Sjkim
29238405Sjkim# camellia
30238405SjkimSRCS+=	cmll-x86_64.pl
31238405Sjkim
32238405Sjkim# md5
33238405SjkimSRCS+=	md5-x86_64.pl
34238405Sjkim
35238405Sjkim# modes
36238405SjkimSRCS+=	ghash-x86_64.pl
37238405Sjkim
38238405Sjkim# rc4
39238405SjkimSRCS+=	rc4-md5-x86_64.pl rc4-x86_64.pl
40238405Sjkim
41238405Sjkim# sha
42238405SjkimSRCS+=	sha1-x86_64.pl sha512-x86_64.pl
43238405Sjkim
44238405Sjkim# whrlpool
45238405SjkimSRCS+=	wp-x86_64.pl
46238405Sjkim
47238405SjkimASM=	${SRCS:S/.pl/.S/}
48238405SjkimASM+=	sha256-x86_64.S x86_64cpuid.S
49238405Sjkim
50238405Sjkimall:	${ASM}
51238405Sjkim
52238405SjkimCLEANFILES+=	${SRCS:M*.pl:S/.pl$/.cmt/} ${SRCS:M*.pl:S/.pl$/.S/}
53238405SjkimCLEANFILES+=	sha256-x86_64.cmt sha256-x86_64.S x86_64cpuid.cmt x86_64cpuid.S
54238405Sjkim.SUFFIXES:	.pl .cmt
55238405Sjkim
56238405Sjkim.pl.cmt:
57238405Sjkim	( cd `dirname ${.IMPSRC}`/.. ; perl ${.IMPSRC} ${.OBJDIR}/${.TARGET} )
58238405Sjkim
59238405Sjkim.cmt.S:
60238405Sjkim	( echo '	# $$'FreeBSD'$$'; cat ${.IMPSRC} ) > ${.TARGET}
61238405Sjkim
62238405Sjkimsha256-x86_64.cmt: sha512-x86_64.pl
63238405Sjkim	( cd `dirname ${.ALLSRC}`/.. ; perl ${.ALLSRC} ${.OBJDIR}/${.TARGET} )
64238405Sjkim
65238405Sjkimx86_64cpuid.cmt: x86_64cpuid.pl
66238405Sjkim	( cd `dirname ${.ALLSRC}` ; perl ${.ALLSRC} ${.OBJDIR}/${.TARGET} )
67238405Sjkim
68238405Sjkim.elif ${MACHINE_CPUARCH} == "i386"
69238405Sjkim
70238405Sjkim.PATH:	${LCRYPTO_SRC}/crypto \
71238405Sjkim	${LCRYPTO_SRC}/crypto/aes/asm \
72238405Sjkim	${LCRYPTO_SRC}/crypto/bf/asm \
73238405Sjkim	${LCRYPTO_SRC}/crypto/bn/asm \
74238405Sjkim	${LCRYPTO_SRC}/crypto/camellia/asm \
75238405Sjkim	${LCRYPTO_SRC}/crypto/cast/asm \
76238405Sjkim	${LCRYPTO_SRC}/crypto/des/asm \
77238405Sjkim	${LCRYPTO_SRC}/crypto/md5/asm \
78238405Sjkim	${LCRYPTO_SRC}/crypto/modes/asm \
79238405Sjkim	${LCRYPTO_SRC}/crypto/rc4/asm \
80238405Sjkim	${LCRYPTO_SRC}/crypto/rc5/asm \
81238405Sjkim	${LCRYPTO_SRC}/crypto/ripemd/asm \
82238405Sjkim	${LCRYPTO_SRC}/crypto/sha/asm \
83238405Sjkim	${LCRYPTO_SRC}/crypto/whrlpool/asm
84238405Sjkim
85142429SnectarPERLPATH=	-I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm
8695967Speter
87238405Sjkim# aes
88238405SjkimSRCS=	aes-586.pl aesni-x86.pl vpaes-x86.pl
89238405Sjkim
9095967Speter# blowfish
91238405SjkimSRCS+=	bf-586.pl bf-686.pl
9295967Speter
9395967Speter# bn
94238405SjkimSRCS+=	bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl
9595967Speter
96238405Sjkim# camellia
97238405SjkimSRCS+=	cmll-x86.pl
98238405Sjkim
9995967Speter# cast
10095967SpeterSRCS+=	cast-586.pl
10195967Speter
10295967Speter# des
103238405SjkimSRCS+=	crypt586.pl des-586.pl
10495967Speter
10595967Speter# md5
10695967SpeterSRCS+=	md5-586.pl
10795967Speter
108238405Sjkim# modes
109238405SjkimSRCS+=	ghash-x86.pl
110238405Sjkim
11195967Speter# rc4
11295967SpeterSRCS+=	rc4-586.pl
11395967Speter
11495967Speter# rc5
11595967SpeterSRCS+=	rc5-586.pl
11695967Speter
11795967Speter# ripemd
11895967SpeterSRCS+=	rmd-586.pl
11995967Speter
12095967Speter# sha
121238405SjkimSRCS+=	sha1-586.pl sha256-586.pl sha512-586.pl
12295967Speter
123238405Sjkim# whrlpool
124238405SjkimSRCS+=	wp-mmx.pl
125238405Sjkim
126238405Sjkim# cpuid
127238405SjkimSRCS+=	x86cpuid.pl
128238405Sjkim
12995967SpeterASM=	${SRCS:S/.pl/.s/}
13095967Speter
13195967Speterall:	${ASM}
13295967Speter
133238405SjkimCLEANFILES+=	${SRCS:M*.pl:S/.pl$/.s/}
134238405Sjkim.SUFFIXES:	.pl
13595967Speter
136238405Sjkim.pl.s:
137127326Smarkm	( echo '	# $$'FreeBSD'$$' ;\
138238405Sjkim	perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ) > ${.TARGET}
139238405Sjkim.endif
14095967Speter
14195967Speter.include <bsd.prog.mk>
142