xref: /freebsd/secure/lib/libcrypto/Makefile.asm (revision e655cc70dfcda5cfedb5a1d9bef1e87d55519f64)
1cdeae6dfSJung-uk Kim# Use this to help generate the asm *.S files after an import.  It is not
281fb684cSPeter Wemm# perfect by any means, but does what is needed.
3cdeae6dfSJung-uk Kim# Do a 'make -f Makefile.asm all' and it will generate *.S.  Move them
480e9ea42SJohn Baldwin# to the arch subdir, and correct any exposed paths.
581fb684cSPeter Wemm
681fb684cSPeter Wemm.include "Makefile.inc"
781fb684cSPeter Wemm
87518a9bdSJung-uk Kim.if defined(ASM_aarch64)
97518a9bdSJung-uk Kim
107518a9bdSJung-uk Kim.PATH:	${LCRYPTO_SRC}/crypto \
117518a9bdSJung-uk Kim	${LCRYPTO_SRC}/crypto/aes/asm \
12bde62812SJung-uk Kim	${LCRYPTO_SRC}/crypto/bn/asm \
13bde62812SJung-uk Kim	${LCRYPTO_SRC}/crypto/chacha/asm \
14bde62812SJung-uk Kim	${LCRYPTO_SRC}/crypto/ec/asm \
157518a9bdSJung-uk Kim	${LCRYPTO_SRC}/crypto/modes/asm \
16bde62812SJung-uk Kim	${LCRYPTO_SRC}/crypto/poly1305/asm \
177518a9bdSJung-uk Kim	${LCRYPTO_SRC}/crypto/sha/asm
187518a9bdSJung-uk Kim
197518a9bdSJung-uk KimPERLPATH=	-I${LCRYPTO_SRC}/crypto/perlasm
207518a9bdSJung-uk Kim
2161fab323SJung-uk Kim# cpuid
2261fab323SJung-uk KimSRCS=	arm64cpuid.pl
2361fab323SJung-uk Kim
247518a9bdSJung-uk Kim# aes
2561fab323SJung-uk KimSRCS+=	aesv8-armx.pl vpaes-armv8.pl
26bde62812SJung-uk Kim
27bde62812SJung-uk Kim# bn
28bde62812SJung-uk KimSRCS+=	armv8-mont.pl
29bde62812SJung-uk Kim
30bde62812SJung-uk Kim# chacha
31bde62812SJung-uk KimSRCS+=	chacha-armv8.pl
32bde62812SJung-uk Kim
33bde62812SJung-uk Kim# ec
34bde62812SJung-uk KimSRCS+=	ecp_nistz256-armv8.pl
357518a9bdSJung-uk Kim
367518a9bdSJung-uk Kim# modes
37b077aed3SPierre ProncherySRCS+=	ghashv8-armx.pl aes-gcm-armv8_64.S
387518a9bdSJung-uk Kim
39bde62812SJung-uk Kim# poly1305
40bde62812SJung-uk KimSRCS+=	poly1305-armv8.pl
41bde62812SJung-uk Kim
427518a9bdSJung-uk Kim# sha
43bde62812SJung-uk KimSRCS+=	keccak1600-armv8.pl sha1-armv8.pl sha512-armv8.pl
447518a9bdSJung-uk Kim
457518a9bdSJung-uk KimASM=	${SRCS:R:S/$/.S/} sha256-armv8.S
467518a9bdSJung-uk Kim
477518a9bdSJung-uk Kimall:	${ASM}
48c0fe6b9dSJohn Baldwin	rm -f ${ASM:R:S/$/.s/}
49*e655cc70SMark Johnston	${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
507518a9bdSJung-uk Kim
51c0fe6b9dSJohn BaldwinCLEANFILES=	${ASM}
527518a9bdSJung-uk Kim.SUFFIXES:	.pl
537518a9bdSJung-uk Kim
547518a9bdSJung-uk Kimsha256-armv8.S:	sha512-armv8.pl
55bde62812SJung-uk Kim	env CC=cc perl ${.ALLSRC} linux64 ${.TARGET:R:S/$/.s/}
567406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
577518a9bdSJung-uk Kim	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
587518a9bdSJung-uk Kim
597518a9bdSJung-uk Kim.pl.S:
60bde62812SJung-uk Kim	env CC=cc perl ${.IMPSRC} linux64 ${.TARGET:R:S/$/.s/}
617406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
627518a9bdSJung-uk Kim	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
637518a9bdSJung-uk Kim
647518a9bdSJung-uk Kim.elif defined(ASM_amd64)
651f13597dSJung-uk Kim
661f13597dSJung-uk Kim.PATH:	${LCRYPTO_SRC}/crypto \
671f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/aes/asm \
681f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/bn/asm \
691f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/camellia/asm \
709b21da0eSJung-uk Kim	${LCRYPTO_SRC}/crypto/chacha/asm \
717bded2dbSJung-uk Kim	${LCRYPTO_SRC}/crypto/ec/asm \
721f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/md5/asm \
731f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/modes/asm \
749b21da0eSJung-uk Kim	${LCRYPTO_SRC}/crypto/poly1305/asm \
751f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/rc4/asm \
761f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/sha/asm \
779b21da0eSJung-uk Kim	${LCRYPTO_SRC}/crypto/whrlpool/asm \
789b21da0eSJung-uk Kim	${LCRYPTO_SRC}/engines/asm
791f13597dSJung-uk Kim
80d0f1d030SJung-uk Kim# cpuid
81b077aed3SPierre ProncherySRCS=	x86_64cpuid.pl
82d0f1d030SJung-uk Kim
831f13597dSJung-uk Kim# aes
84f3cac6c0SJohn BaldwinSRCS+=	aes-x86_64.pl \
85f3cac6c0SJohn Baldwin	aesni-mb-x86_64.pl aesni-sha1-x86_64.pl aesni-sha256-x86_64.pl \
86f3cac6c0SJohn Baldwin	aesni-x86_64.pl bsaes-x86_64.pl vpaes-x86_64.pl
871f13597dSJung-uk Kim
881f13597dSJung-uk Kim# bn
89f3cac6c0SJohn BaldwinSRCS+=	rsaz-avx2.pl rsaz-avx512.pl rsaz-x86_64.pl x86_64-gf2m.pl \
90b077aed3SPierre Pronchery	x86_64-mont.pl x86_64-mont5.pl
911f13597dSJung-uk Kim
921f13597dSJung-uk Kim# camellia
931f13597dSJung-uk KimSRCS+=	cmll-x86_64.pl
941f13597dSJung-uk Kim
959b21da0eSJung-uk Kim# chacha
969b21da0eSJung-uk KimSRCS+=	chacha-x86_64.pl
979b21da0eSJung-uk Kim
987bded2dbSJung-uk Kim# ec
99c28e4d84SJung-uk KimSRCS+=	ecp_nistz256-x86_64.pl x25519-x86_64.pl
1009b21da0eSJung-uk Kim
1011f13597dSJung-uk Kim# md5
1021f13597dSJung-uk KimSRCS+=	md5-x86_64.pl
1031f13597dSJung-uk Kim
1041f13597dSJung-uk Kim# modes
1057bded2dbSJung-uk KimSRCS+=	aesni-gcm-x86_64.pl ghash-x86_64.pl
1061f13597dSJung-uk Kim
1079b21da0eSJung-uk Kim# poly1305
1089b21da0eSJung-uk KimSRCS+=	poly1305-x86_64.pl
1099b21da0eSJung-uk Kim
1101f13597dSJung-uk Kim# rc4
1111f13597dSJung-uk KimSRCS+=	rc4-md5-x86_64.pl rc4-x86_64.pl
1121f13597dSJung-uk Kim
1131f13597dSJung-uk Kim# sha
114c28e4d84SJung-uk KimSRCS+=	keccak1600-x86_64.pl sha1-mb-x86_64.pl sha1-x86_64.pl \
1159b21da0eSJung-uk Kim	sha256-mb-x86_64.pl
1161f13597dSJung-uk Kim
1171f13597dSJung-uk Kim# whrlpool
1181f13597dSJung-uk KimSRCS+=	wp-x86_64.pl
1191f13597dSJung-uk Kim
120d0f1d030SJung-uk Kim# engines
121d0f1d030SJung-uk KimSRCS+=	e_padlock-x86_64.pl
12282d668d2SJung-uk Kim
12382d668d2SJung-uk KimSHA_ASM=	sha256-x86_64 sha512-x86_64
12482d668d2SJung-uk KimSHA_SRC=	sha512-x86_64.pl
12582d668d2SJung-uk KimSHA_TMP=	${SHA_ASM:S/$/.s/}
12682d668d2SJung-uk Kim
12782d668d2SJung-uk KimASM=	${SRCS:R:S/$/.S/} ${SHA_ASM:S/$/.S/}
1281f13597dSJung-uk Kim
1291f13597dSJung-uk Kimall:	${ASM}
130c0fe6b9dSJohn Baldwin	rm -f ${SHA_TMP}
1311f13597dSJung-uk Kim
132c0fe6b9dSJohn BaldwinCLEANFILES=	${ASM}
13382d668d2SJung-uk Kim.SUFFIXES:	.pl
1341f13597dSJung-uk Kim
13582d668d2SJung-uk Kim.pl.S:
1367a56f5afSJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
137207be921SJung-uk Kim	env CC=cc perl ${.IMPSRC} elf ) > ${.TARGET}
1381f13597dSJung-uk Kim
13982d668d2SJung-uk Kim${SHA_TMP}: ${SHA_SRC}
140207be921SJung-uk Kim	env CC=cc perl ${.ALLSRC} elf ${.TARGET}
1411f13597dSJung-uk Kim
14282d668d2SJung-uk Kim.for s in ${SHA_ASM}
14382d668d2SJung-uk Kim${s}.S: ${s}.s
1447a56f5afSJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${SHA_SRC}. */' ;\
14582d668d2SJung-uk Kim	cat ${s}.s ) > ${.TARGET}
14682d668d2SJung-uk Kim.endfor
1471f13597dSJung-uk Kim
14843e4bca7SJung-uk Kim.elif defined(ASM_arm)
14943e4bca7SJung-uk Kim
15043e4bca7SJung-uk Kim.PATH:	${LCRYPTO_SRC}/crypto \
15143e4bca7SJung-uk Kim	${LCRYPTO_SRC}/crypto/aes/asm \
15243e4bca7SJung-uk Kim	${LCRYPTO_SRC}/crypto/bn/asm \
1532c17169aSJung-uk Kim	${LCRYPTO_SRC}/crypto/chacha/asm \
1542c17169aSJung-uk Kim	${LCRYPTO_SRC}/crypto/ec/asm \
15543e4bca7SJung-uk Kim	${LCRYPTO_SRC}/crypto/modes/asm \
1562c17169aSJung-uk Kim	${LCRYPTO_SRC}/crypto/poly1305/asm \
15743e4bca7SJung-uk Kim	${LCRYPTO_SRC}/crypto/sha/asm
15843e4bca7SJung-uk Kim
15943e4bca7SJung-uk KimPERLPATH=	-I${LCRYPTO_SRC}/crypto/perlasm
16043e4bca7SJung-uk Kim
16161fab323SJung-uk Kim# cpuid
16261fab323SJung-uk KimSRCS=	armv4cpuid.pl
16361fab323SJung-uk Kim
16443e4bca7SJung-uk Kim# aes
16561fab323SJung-uk KimSRCS+=	aes-armv4.pl aesv8-armx.pl bsaes-armv7.pl
16643e4bca7SJung-uk Kim
16743e4bca7SJung-uk Kim# bn
16843e4bca7SJung-uk KimSRCS+=	armv4-mont.pl armv4-gf2m.pl
16943e4bca7SJung-uk Kim
1702c17169aSJung-uk Kim# chacha
1712c17169aSJung-uk KimSRCS+=	chacha-armv4.pl
1722c17169aSJung-uk Kim
1732c17169aSJung-uk Kim# ec
1742c17169aSJung-uk KimSRCS+=	ecp_nistz256-armv4.pl
1752c17169aSJung-uk Kim
17643e4bca7SJung-uk Kim# modes
17743e4bca7SJung-uk KimSRCS+=	ghash-armv4.pl ghashv8-armx.pl
17843e4bca7SJung-uk Kim
1792c17169aSJung-uk Kim# poly1305
1802c17169aSJung-uk KimSRCS+=	poly1305-armv4.pl
1812c17169aSJung-uk Kim
18243e4bca7SJung-uk Kim# sha
1832c17169aSJung-uk KimSRCS+=	keccak1600-armv4.pl sha1-armv4-large.pl sha256-armv4.pl sha512-armv4.pl
18443e4bca7SJung-uk Kim
185c0fe6b9dSJohn BaldwinASM=	${SRCS:R:S/$/.S/}
18643e4bca7SJung-uk Kim
18743e4bca7SJung-uk Kimall:	${ASM}
188c0fe6b9dSJohn Baldwin	rm -f ${ASM:R:S/$/.s/}
189*e655cc70SMark Johnston	${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
19043e4bca7SJung-uk Kim
191c0fe6b9dSJohn BaldwinCLEANFILES=	${ASM}
19243e4bca7SJung-uk Kim.SUFFIXES:	.pl
19343e4bca7SJung-uk Kim
19443e4bca7SJung-uk Kim.pl.S:
195bde62812SJung-uk Kim	env CC=cc perl ${.IMPSRC} linux32 ${.TARGET:R:S/$/.s/}
1967406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
19743e4bca7SJung-uk Kim	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
19843e4bca7SJung-uk Kim
199d8a16c14SJung-uk Kim.elif defined(ASM_i386)
2001f13597dSJung-uk Kim
2011f13597dSJung-uk Kim.PATH:	${LCRYPTO_SRC}/crypto \
2021f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/aes/asm \
2031f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/bf/asm \
2041f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/bn/asm \
2051f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/camellia/asm \
206d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/crypto/cast/asm \
207d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/crypto/chacha/asm \
2081f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/des/asm \
209d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/crypto/ec/asm \
2101f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/md5/asm \
2111f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/modes/asm \
212d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/crypto/poly1305/asm \
2131f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/rc4/asm \
2141f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/rc5/asm \
2151f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/ripemd/asm \
2161f13597dSJung-uk Kim	${LCRYPTO_SRC}/crypto/sha/asm \
217d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/crypto/whrlpool/asm \
218d0f1d030SJung-uk Kim	${LCRYPTO_SRC}/engines/asm
219dcb22793SDavid E. O'Brien
220d0f1d030SJung-uk Kim#PERLPATH=	-I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm
221c0fe6b9dSJohn BaldwinCFLAGS=	-DOPENSSL_IA32_SSE2
222d0f1d030SJung-uk Kim
223d0f1d030SJung-uk Kim# cpuid
224d0f1d030SJung-uk KimSRCS=	x86cpuid.pl
22581fb684cSPeter Wemm
2261f13597dSJung-uk Kim# aes
227f3cac6c0SJohn BaldwinSRCS+=	aes-586.pl aesni-x86.pl vpaes-x86.pl
2281f13597dSJung-uk Kim
22981fb684cSPeter Wemm# blowfish
230d0f1d030SJung-uk KimSRCS+=	bf-586.pl
23181fb684cSPeter Wemm
23281fb684cSPeter Wemm# bn
2331f13597dSJung-uk KimSRCS+=	bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl
2341f13597dSJung-uk Kim
2351f13597dSJung-uk Kim# camellia
2361f13597dSJung-uk KimSRCS+=	cmll-x86.pl
23781fb684cSPeter Wemm
238d0f1d030SJung-uk Kim# cast
239d0f1d030SJung-uk KimSRCS+=	cast-586.pl
240d0f1d030SJung-uk Kim
241d0f1d030SJung-uk Kim# chacha
242d0f1d030SJung-uk KimSRCS+=	chacha-x86.pl
243d0f1d030SJung-uk Kim
24481fb684cSPeter Wemm# des
2451f13597dSJung-uk KimSRCS+=	crypt586.pl des-586.pl
24681fb684cSPeter Wemm
247d0f1d030SJung-uk Kim# ec
248d0f1d030SJung-uk KimSRCS+=	ecp_nistz256-x86.pl
249d0f1d030SJung-uk Kim
25081fb684cSPeter Wemm# md5
25181fb684cSPeter WemmSRCS+=	md5-586.pl
25281fb684cSPeter Wemm
2531f13597dSJung-uk Kim# modes
2541f13597dSJung-uk KimSRCS+=	ghash-x86.pl
2551f13597dSJung-uk Kim
256d0f1d030SJung-uk Kim# poly1305
257d0f1d030SJung-uk KimSRCS+=	poly1305-x86.pl
258d0f1d030SJung-uk Kim
25981fb684cSPeter Wemm# rc4
26081fb684cSPeter WemmSRCS+=	rc4-586.pl
26181fb684cSPeter Wemm
26281fb684cSPeter Wemm# rc5
26381fb684cSPeter WemmSRCS+=	rc5-586.pl
26481fb684cSPeter Wemm
26581fb684cSPeter Wemm# ripemd
26681fb684cSPeter WemmSRCS+=	rmd-586.pl
26781fb684cSPeter Wemm
26881fb684cSPeter Wemm# sha
2691f13597dSJung-uk KimSRCS+=	sha1-586.pl sha256-586.pl sha512-586.pl
2701f13597dSJung-uk Kim
2711f13597dSJung-uk Kim# whrlpool
2721f13597dSJung-uk KimSRCS+=	wp-mmx.pl
2731f13597dSJung-uk Kim
274d0f1d030SJung-uk Kim# engines
275d0f1d030SJung-uk KimSRCS+=	e_padlock-x86.pl
27681fb684cSPeter Wemm
27782d668d2SJung-uk KimASM=	${SRCS:R:S/$/.S/}
27881fb684cSPeter Wemm
27981fb684cSPeter Wemmall:	${ASM}
28081fb684cSPeter Wemm
281c0fe6b9dSJohn BaldwinCLEANFILES=	${ASM}
2821f13597dSJung-uk Kim.SUFFIXES:	.pl
28381fb684cSPeter Wemm
284cdeae6dfSJung-uk Kim.pl.S:
2857a56f5afSJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
286cdeae6dfSJung-uk Kim	echo '#ifdef PIC' ;\
287c0fe6b9dSJohn Baldwin	env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic /dev/stdout ;\
288cdeae6dfSJung-uk Kim	echo '#else' ;\
289c0fe6b9dSJohn Baldwin	env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} /dev/stdout ;\
290d0f1d030SJung-uk Kim	echo '#endif' ) > ${.TARGET}
2913a608692SPiotr Kubaj
2923a608692SPiotr Kubaj.elif defined(ASM_powerpc)
2933a608692SPiotr Kubaj
2943a608692SPiotr Kubaj.PATH:	${LCRYPTO_SRC}/crypto \
2953a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/aes/asm \
2963a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/bn/asm \
2973a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/chacha/asm \
2983a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/modes/asm \
2993a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/poly1305/asm \
3003a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/sha/asm
3013a608692SPiotr Kubaj
3023a608692SPiotr KubajPERLPATH=	-I${LCRYPTO_SRC}/crypto/perlasm
3033a608692SPiotr Kubaj
3043a608692SPiotr Kubaj#cpuid
3053a608692SPiotr KubajSRCS=	ppccpuid.pl
3063a608692SPiotr Kubaj
3073a608692SPiotr Kubaj#bn
308aa795734SPierre ProncherySRCS+=	ppc.pl ppc-mont.pl
3093a608692SPiotr Kubaj
3103a608692SPiotr Kubaj#aes
3113a608692SPiotr KubajSRCS+=	aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
3123a608692SPiotr Kubaj
3133a608692SPiotr Kubaj#sha1
3143a608692SPiotr KubajSRCS+=	sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
3153a608692SPiotr Kubaj
3163a608692SPiotr Kubaj#modes
3173a608692SPiotr KubajSRCS+=	ghashp8-ppc.pl
3183a608692SPiotr Kubaj
3193a608692SPiotr Kubaj#chacha
3203a608692SPiotr KubajSRCS+=	chacha-ppc.pl
3213a608692SPiotr Kubaj
3223a608692SPiotr Kubaj#poly1305
3233a608692SPiotr KubajSRCS+=	poly1305-ppc.pl poly1305-ppcfp.pl
3243a608692SPiotr Kubaj
325b077aed3SPierre ProncheryASM=	${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
3263a608692SPiotr Kubaj
3273a608692SPiotr Kubajall:	${ASM}
328c0fe6b9dSJohn Baldwin	rm -f ${ASM:R:S/$/.s/}
3293a608692SPiotr Kubaj
3303a608692SPiotr KubajCLEANFILES=	${ASM}
3313a608692SPiotr Kubaj.SUFFIXES:	.pl
3323a608692SPiotr Kubaj
333b077aed3SPierre Proncherybn-ppc.S:	ppc.pl
334b077aed3SPierre Pronchery	env CC=cc perl ${.ALLSRC} linux32 ${.TARGET:R:S/$/.s/}
3357406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
336b077aed3SPierre Pronchery	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
337b077aed3SPierre Pronchery
3383a608692SPiotr Kubajsha256-ppc.S:	sha512-ppc.pl
3393a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux32 ${.TARGET:R:S/$/.s/}
3407406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
3413a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
3423a608692SPiotr Kubaj
3433a608692SPiotr Kubajsha256p8-ppc.S:	sha512p8-ppc.pl
3443a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux32 ${.TARGET:R:S/$/.s/}
3457406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
3463a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
3473a608692SPiotr Kubaj
3483a608692SPiotr Kubaj.pl.S:
3493a608692SPiotr Kubaj	env CC=cc perl ${.IMPSRC} linux32 ${.TARGET:R:S/$/.s/}
3507406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
3513a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
3523a608692SPiotr Kubaj
3533a608692SPiotr Kubaj.elif defined(ASM_powerpc64)
3543a608692SPiotr Kubaj
3553a608692SPiotr Kubaj.PATH:	${LCRYPTO_SRC}/crypto \
3563a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/aes/asm \
3573a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/bn/asm \
3583a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/chacha/asm \
3593a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/ec/asm \
3603a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/modes/asm \
3613a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/poly1305/asm \
3623a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/sha/asm
3633a608692SPiotr Kubaj
3643a608692SPiotr KubajPERLPATH=	-I${LCRYPTO_SRC}/crypto/perlasm
3653a608692SPiotr Kubaj
3663a608692SPiotr Kubaj#cpuid
3673a608692SPiotr KubajSRCS=	ppccpuid.pl
3683a608692SPiotr Kubaj
3693a608692SPiotr Kubaj#bn
370aa795734SPierre ProncherySRCS+=	ppc.pl ppc-mont.pl
3713a608692SPiotr Kubaj
3723a608692SPiotr Kubaj#aes
3733a608692SPiotr KubajSRCS+=	aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
3743a608692SPiotr Kubaj
3753a608692SPiotr Kubaj#sha1
3763a608692SPiotr KubajSRCS+=	sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
3773a608692SPiotr Kubaj
3783a608692SPiotr Kubaj#modes
3793a608692SPiotr KubajSRCS+=	ghashp8-ppc.pl
3803a608692SPiotr Kubaj
3813a608692SPiotr Kubaj#chacha
3823a608692SPiotr KubajSRCS+=	chacha-ppc.pl
3833a608692SPiotr Kubaj
3843a608692SPiotr Kubaj#poly1305
3853a608692SPiotr KubajSRCS+=	poly1305-ppc.pl poly1305-ppcfp.pl
3863a608692SPiotr Kubaj
3873a608692SPiotr Kubaj#ec
388b077aed3SPierre ProncherySRCS+=	ecp_nistp521-ppc64.pl ecp_nistz256-ppc64.pl x25519-ppc64.pl
3893a608692SPiotr Kubaj
3903a608692SPiotr Kubaj#keccak1600
3913a608692SPiotr KubajSRCS+=	keccak1600-ppc64.pl
3923a608692SPiotr Kubaj
393b077aed3SPierre ProncheryASM=	${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
3943a608692SPiotr Kubaj
3953a608692SPiotr Kubajall:	${ASM}
396c0fe6b9dSJohn Baldwin	rm -f ${ASM:R:S/$/.s/}
3973a608692SPiotr Kubaj
3983a608692SPiotr KubajCLEANFILES=	${ASM}
3993a608692SPiotr Kubaj.SUFFIXES:	.pl
4003a608692SPiotr Kubaj
401b077aed3SPierre Proncherybn-ppc.S:	ppc.pl
402b077aed3SPierre Pronchery	env CC=cc perl ${.ALLSRC} linux64v2 ${.TARGET:R:S/$/.s/}
4037406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
404b077aed3SPierre Pronchery	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
405b077aed3SPierre Pronchery
4063a608692SPiotr Kubajsha256-ppc.S:	sha512-ppc.pl
4073a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux64v2 ${.TARGET:R:S/$/.s/}
4087406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4093a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4103a608692SPiotr Kubaj
4113a608692SPiotr Kubajsha256p8-ppc.S:	sha512p8-ppc.pl
4123a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux64v2 ${.TARGET:R:S/$/.s/}
4137406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4143a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4153a608692SPiotr Kubaj
4163a608692SPiotr Kubaj.pl.S:
4173a608692SPiotr Kubaj	env CC=cc perl ${.IMPSRC} linux64v2 ${.TARGET:R:S/$/.s/}
4187406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4193a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4203a608692SPiotr Kubaj
4213a608692SPiotr Kubaj.elif defined(ASM_powerpc64le)
4223a608692SPiotr Kubaj
4233a608692SPiotr Kubaj.PATH:	${LCRYPTO_SRC}/crypto \
4243a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/aes/asm \
4253a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/bn/asm \
4263a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/chacha/asm \
4273a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/ec/asm \
4283a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/modes/asm \
4293a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/poly1305/asm \
4303a608692SPiotr Kubaj	${LCRYPTO_SRC}/crypto/sha/asm
4313a608692SPiotr Kubaj
4323a608692SPiotr KubajPERLPATH=	-I${LCRYPTO_SRC}/crypto/perlasm
4333a608692SPiotr Kubaj
4343a608692SPiotr Kubaj#cpuid
4353a608692SPiotr KubajSRCS=	ppccpuid.pl
4363a608692SPiotr Kubaj
4373a608692SPiotr Kubaj#bn
438aa795734SPierre ProncherySRCS+=	ppc.pl ppc-mont.pl
4393a608692SPiotr Kubaj
4403a608692SPiotr Kubaj#aes
4413a608692SPiotr KubajSRCS+=	aes-ppc.pl vpaes-ppc.pl aesp8-ppc.pl
4423a608692SPiotr Kubaj
4433a608692SPiotr Kubaj#sha1
4443a608692SPiotr KubajSRCS+=	sha1-ppc.pl sha512-ppc.pl sha512p8-ppc.pl
4453a608692SPiotr Kubaj
4463a608692SPiotr Kubaj#modes
4473a608692SPiotr KubajSRCS+=	ghashp8-ppc.pl
4483a608692SPiotr Kubaj
4493a608692SPiotr Kubaj#chacha
4503a608692SPiotr KubajSRCS+=	chacha-ppc.pl
4513a608692SPiotr Kubaj
4523a608692SPiotr Kubaj#poly1305
4533a608692SPiotr KubajSRCS+=	poly1305-ppc.pl poly1305-ppcfp.pl
4543a608692SPiotr Kubaj
4553a608692SPiotr Kubaj#ec
456b077aed3SPierre ProncherySRCS+=	ecp_nistp521-ppc64.pl ecp_nistz256-ppc64.pl x25519-ppc64.pl
4573a608692SPiotr Kubaj
4583a608692SPiotr Kubaj#keccak1600
4593a608692SPiotr KubajSRCS+=	keccak1600-ppc64.pl
4603a608692SPiotr Kubaj
461b077aed3SPierre ProncheryASM=	${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
4623a608692SPiotr Kubaj
4633a608692SPiotr Kubajall:	${ASM}
464c0fe6b9dSJohn Baldwin	rm -f ${ASM:R:S/$/.s/}
4653a608692SPiotr Kubaj
4663a608692SPiotr KubajCLEANFILES=	${ASM}
4673a608692SPiotr Kubaj.SUFFIXES:	.pl
4683a608692SPiotr Kubaj
469b077aed3SPierre Proncherybn-ppc.S:	ppc.pl
470b077aed3SPierre Pronchery	env CC=cc perl ${.ALLSRC} linux64le ${.TARGET:R:S/$/.s/}
4717406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
472b077aed3SPierre Pronchery	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
473b077aed3SPierre Pronchery
4743a608692SPiotr Kubajsha256-ppc.S:	sha512-ppc.pl
4753a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux64le ${.TARGET:R:S/$/.s/}
4767406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4773a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4783a608692SPiotr Kubaj
4793a608692SPiotr Kubajsha256p8-ppc.S:	sha512p8-ppc.pl
4803a608692SPiotr Kubaj	env CC=cc perl ${.ALLSRC} linux64le ${.TARGET:R:S/$/.s/}
4817406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4823a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4833a608692SPiotr Kubaj
4843a608692SPiotr Kubaj.pl.S:
4853a608692SPiotr Kubaj	env CC=cc perl ${.IMPSRC} linux64le ${.TARGET:R:S/$/.s/}
4867406b6f9SJohn Baldwin	( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
4873a608692SPiotr Kubaj	cat ${.TARGET:R:S/$/.s/}) > ${.TARGET}
4883a608692SPiotr Kubaj
4891f13597dSJung-uk Kim.endif
49081fb684cSPeter Wemm
49181fb684cSPeter Wemm.include <bsd.prog.mk>
492